关于将函数放入进程后函数执行速度的问题

关于将函数放入进程后函数执行速度的问题

https://img1.sycdn.imooc.com//climg/6463704b09b9a4e110690960.jpg

老师您好,我想问的是视频中这段代码在输出执行速度finish_time来说明将两个函数放入到子进程中,与主进程并发执行执行速度明显提升是不是不太严谨?

我的想法是在实例化(work_a/work_b)子进程对象后启用子进程对象,三个进程并发执行,在没有执行完毕子进程a_p、a_q时 函数就执行到了主进程的finish_time = time.time() - start_time这条语句所以执行速度才变快的。

另外我还有一个问题是为什么在这段代码中主进程应该提前于两个子进程结束(由于子进程中各有一个time.sleep(1))但是还是在没有阻塞函数join()的情况下完成了子进程函数,谢谢老师解答。

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好!1、同学理解的是正确的

2、程序运行时先执行主进程start_time=time.time(),然后开启子进程1和子进程2。子进程1、2执行时,finish=time.time-start_time主进程代码也在执行,子进程与主进程互不影响,各自执行自己的代码。所以主进程先执行完成


祝学习愉快~

  • 懒惰的围脖 提问者 #1

    请问主进程先结束完成的话,在没有join()语句阻塞的话 函数进程不会随着主进程提前关闭么? 两个紫禁城不应该无法执行完而提前结束各自的子进程么。

    2023-05-17 10:08:12
  • 好帮手慕小猿 回复 提问者 懒惰的围脖 #2

    同学,你好!不会的,如程序运行结果,主进程执行完,子进程依然再执行输出

    https://img1.sycdn.imooc.com//climg/64644a2509368db811060860.jpg

    祝学习愉快~

    2023-05-17 11:30:00
  • 懒惰的围脖 提问者 回复 好帮手慕小猿 #3
    谢谢老师耐心解答
    2023-05-17 11:53:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师