2025年6月4日 星期三 乙巳(蛇)年 三月初八 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

python 简单的进程与协程

时间:04-01来源:作者:点击数:32

python 简单的进程与协程

  • import os
  • import time
  • from multiprocessing import Process,Pool
  • ##################### 多进程 与 进程池 #######################
  • def run_proc(name):
  • """ 子进程要执行的 """
  • print("Child process %s (%s) Running..."%(name,os.getpid()))
  • time.sleep(3)
  • def main_ordinary():
  • """ 一般的多进程 """
  • print("Parent process %s."%os.getpid())
  • for i in range(4):
  • p = Process(target=run_proc,args=(i,))
  • print("Process will start.")
  • p.start()
  • p.join()
  • print("Process end.")
  • def main_pool():
  • """ 进程池 """
  • print("Parent process %s."%os.getpid())
  • p = Pool(processes=3) # 最大3个进程
  • for i in range(5):
  • p.apply_async(run_proc,args=(i,))
  • print("waitm")
  • p.close()
  • p.join()
  • ######################## 协程---生产者与消费者 ########################
  • def xf():
  • """ 消费者 """
  • x = 0
  • while 1:
  • x = yield '消费了 %s 件'%x
  • def sc():
  • """ 生产者 """
  • f = xf()
  • f.send(None)
  • for i in range(1,11):
  • print('生产 %s 件'%i)
  • if not i%5:
  • print(f.send(i))
  • if __name__ == '__main__':
  • main_ordinary()
  • main_pool()
  • sc()
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门