并发编程-多进程
发布时间:2021-01-08 06:44:09 所属栏目:系统 来源:网络整理
导读:一.进程 新进程的创建都是由一个 已经存在的进程 执行了一个 用于创建进程的系统调用 而创建的。 1.在UNIX中:fork会创建一个与父进程一摸一样的副本 2.在Windows:系统调用CreateProcess创建进程 进程的状态 程序遇到IO操作(Input、output),会阻塞,IO完成
生产者消费者模型(基于队列通信): 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()示例 (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |