1生产者模型和消费者模型
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import time,queue,threading def producer(): n=1 while n<11: print('准备开始做第%s包子' %n) time.sleep(3) q.put(n) q.join() n+=1 def cusumer(name): while 1: s = q.get() print(' %s开始吃第%s包子' %(name,s)) time.sleep(3) q.task_done() q=queue.Queue() if __name__ == '__main__': c1=threading.Thread(target=cusumer,args=('c1',)) c2=threading.Thread(target=cusumer,args=('c2',)) c3 = threading.Thread(target=cusumer, args=('c3',)) c4 = threading.Thread(target=cusumer, args=('c4',)) p1=threading.Thread(target=producer) c1.start() c2.start() c3.start() c4.start() p1.start()
2.多进程的调用
- 创建进程类
- 创建进程
2.1 Process
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
from multiprocessing import Process def test(): print('this is process') if __name__ == '__main__': l=[] for i in range(5): p=Process(target=test) l.append(p) p.start() for s in l: s.join()
2.2 创建进程类
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
from multiprocessing import Process class Myprocess(Process): def __init__(self): Process.__init__(self) def run(self): print('this is process') if __name__ == '__main__': l=[] for i in range(10): l.append(Myprocess()) for s in l: s.start()
3.进程的方法
- p.join()--
- p.daemon===守护进程