加入收藏 | 设为首页 | 会员中心 | 我要投稿 焦作站长网 (https://www.0391zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

并发编程-多进程

发布时间: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()
示例

(编辑:焦作站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读