文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python中多进程—Join方法使用、进程锁及进程间通信

2024-12-03 17:25

关注

 大纲

  1. join方法使用
  2. 进程锁
  3. 进程间通信

Process对象中的join方法

join方法表示等待子进程结束后再继续往下运行,通常用于进程间的同步,等待的总时间是子进程中耗费时间最长的那个进程运行的时间。

join方法演示


对比一下两种不同结果

进程锁

并发运行时会出现同时操作一个文件时候,这时候会出现操作文件内容混乱,需要加入锁机制,由并发变成了串行。

  1. import time 
  2. import os 
  3. from multiprocessing import Process, Lock 
  4.  
  5. def work(lock): 
  6.     # 获取锁 
  7.     lock.acquire() 
  8.     print('{0} is 开始工作'.format(os.getpid())) 
  9.     time.sleep(2) 
  10.     print('{0} is 结束工作'.format(os.getpid())) 
  11.     # 释放锁 
  12.     lock.release() 
  13.  
  14. lock = Lock() 
  15. for i in range(3): 
  16.     p = Process(target=work,args=(lock,)) 
  17.     p.start() 

 

加入锁机制变成串行时运行结果

进程间通信

在父进程中创建两个子进程,一个往Queue里写数据,一个从Queue里读数据


Queue示例

 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯