并发编程-多进程
发布时间:2021-01-08 04:47:22  所属栏目:系统  来源:网络整理 
            导读:副标题#e# 一.进程 新进程的创建都是由一个已经存在的进程执行了一个用于创建进程的系统调用而创建的。 1.在UNIX中:fork会创建一个与父进程一摸一样的副本 2.在Windows:系统调用CreateProcess创建进程 进程的状态 程序遇到IO操作(Input、output),会阻塞
                
                
                
            | 
 生产者消费者模型(基于队列通信): from multiprocessing import Process
from multiprocessing import Queue
import time
import random
#生产者
def producer(q,name):
    for i in range(1,6):
        time.sleep(random.randint(1,3))
        ret=f‘{i}号包子‘
        q.put(ret)
        print(f‘生产者{name}生产了{ret}‘)
#消费者
def consumer(q,name):
    while 1:
        try:
            time.sleep(random.randint(1,3))
            food=q.get(timeout=3)
            print(f‘消费者{name}吃了{food}‘)
        except Exception:
            return
if __name__ == ‘__main__‘:
    q=Queue()#队列(容器)
    p1=Process(target=producer,args=(q,‘liye‘))
    p2=Process(target=consumer,‘haigou‘))
    p1.start()
    p2.start()示例(编辑:宣城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 



