摘要:
1. q = queue.Queue(5) 实例化,5为队列长度 2. q.put("haha") 将数据加入队列,计数器+1 3. q.get() 取出数据,计数器不变 4. q.join() 阻塞,知道计数器为0 5. q.task_done() 计数器-1 代码: 阅读全文
posted @ 2018-11-21 21:32
山…隹
阅读(497)
评论(0)
推荐(0)
摘要:
注意 : mgr = multiprocessing.Manager() 生成了一个守护进程,如果主进程完毕,mgr这个实例也没有了,所以在结尾加了mgr.join()才能运行 代码: 阅读全文
posted @ 2018-11-21 21:09
山…隹
阅读(1776)
评论(0)
推荐(0)
摘要:
import threading import queue import random import time qq = queue.Queue(4) #实例化一个队列,因为是一个进程的线程,所以共资源 #重写线程类 class produce(threading.Thread): def __init__(self,myqueue): super().__in... 阅读全文
posted @ 2018-11-21 20:22
山…隹
阅读(375)
评论(0)
推荐(0)
摘要:
gil锁作用: 遇到阻塞( 比如 recv() , accept() )就切换 阅读全文
posted @ 2018-11-21 15:53
山…隹
阅读(125)
评论(0)
推荐(0)
摘要:
用法: 先实例化 lock = threading.Lock() 1. lock.acquire() 上锁 需上锁代码 lock.release() 解锁 2. with lock: 上下两种方式都行 需上锁代码 整体代码: import threading lock = threading.Loc 阅读全文
posted @ 2018-11-21 15:30
山…隹
阅读(285)
评论(0)
推荐(0)
摘要:
import multiprocessing mgr = mutiprocessing.Manager() 开启一个守护子进程,并返回用来与其通信的管理器 share_list = mgr.list() #还有mgr.dic() , mgr.Queue() 方法 def func(myli): my 阅读全文
posted @ 2018-11-21 14:01
山…隹
阅读(209)
评论(0)
推荐(0)

浙公网安备 33010602011771号