正在回答 回答被采纳积分+1
1回答
好帮手慕小猿
2022-07-12 18:01:57
同学,你好!t1.join(),t2.join()是阻塞主进程,等子进程结束后再执行主进程。如下图在t1.join(),t2.join()子进程结束后再执行主进程的print("主进程结束啦")代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import time import random import multiprocessing def sender(q): for i in range ( 1 , 10 ): x = random.randint( 1 , 10 ) print ( "send done:" ,x) q.put(x) time.sleep( 1 ) def recvder(q): for i in range ( 1 , 10 ): x = q.get() print ( "recv done:" ,x * 3.14 ) time.sleep( 1 ) i + = 1 if __name__ = = '__main__' : q = multiprocessing.Queue() t1 = multiprocessing.Process(target = sender, args = (q,)) t2 = multiprocessing.Process(target = recvder, args = (q,)) t1.start() t2.start() t1.join() t2.join() print ( "主进程结束啦" ) |
运行结果如图:
祝学习愉快~
Python全能工程师
- 参与学习 人
- 提交作业 16317 份
- 解答问题 4470 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧