【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

由于平时写多进程的机会不多,所以对这方面也不太重视。因此,一直没有把多进程的代码掌握好。其实,从心底里,我知道多进程还是有很多优点的,其中稳定性就是很重要的一条。现在用python写多进程,发现用multiprocessing库写起来一点也不难。

1、创建多进程
t = multiprocessing.Process(target = run_process)
t.start()
2、等待进程结束
t.join()
3、创建pipe
(p1, p2) = multiprocessing.Pipe()
data = p1.read()
p2.send(data)
4、创建锁

多进程下面的锁多用来限制对某些文件的访问,用法如下,

l = multiprocessing.Lock()
l.acquire()
l.release()
5、创建信号量

信号量是进程同步的好方法,实际使用的机会也很多,用法如下,

a = multiprocessing.Semaphore(0)
a.acquire()
a.release()
6、信号处理

multiprocessing库是真正的多进程,用ps aux检测的时候可以发现确实有多个进程在运行。同样,发送给parent的信号也会发送给子进程,所以一般来说,信号函数都是公用的,

signal.signal(signal.SIGINT, sig_process)
7、完整范例
#!/usr/bin/pythonimport multiprocessing
import os
import time
import signalg_exit = 0def sig_process(sig, frame):global g_exitg_exit = 1def send_process(p, l):data = 0while not g_exit:p.send(data)data += 1l.release()time.sleep(1)l.release()p.send(0)def get_process(p, l):while not g_exit:l.acquire()print p.recv()def main():signal.signal(signal.SIGINT, sig_process)l = multiprocessing.Semaphore(0)(p1, p2) = multiprocessing.Pipe()t1 = multiprocessing.Process(target = send_process, args=(p1,l,))t1.start()t2 = multiprocessing.Process(target = get_process, args=(p2,l,))t2.start()while not g_exit:time.sleep(3)t2.join()t1.join()if __name__ == '__main__':main()

python编程(multiprocessing库)相关推荐

  1. NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码

    NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码 目录 全部代码 相关文章 NLP之情感分析:基于python编程(jieba库)实现中文文本情 ...

  2. NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码

    NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码 目录 全部代码 相关文章 NLP之TEA:基于python编程(jieba库)实现中文文本情感分 ...

  3. ​​​​​​​NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)

    NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分) 目录 输出结果 设计思路 相关资料 1.关于代码 2.关于数据集 关于留言 1.留言内容的注意事项 2.如 ...

  4. python编程题-python编程题库

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 上期题目连接:1000道python题库系列分享十一(9道)上期题目答案:? 本期 ...

  5. 2018python做图形界面哪个库简单_2018年常见的python编程开发库都有哪些类型

    python编程开发可以说是目前比较热门的一项编程开发语言了,而今天我们就一起来了解一下,关于python编程都有哪些常见的python库可以使用. 1.TensorFlow "Tensor ...

  6. python程序设计题库-python编程题库

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 上期题目连接:1000道python题库系列分享十一(9道)上期题目答案 ...

  7. 【python第三方库】python多进程编程multiprocessing库和subprocess库的区别与使用

    多进程,多线程介绍请阅读blog python多线程编程请阅读blog 文章目录 一.mutiprocessing库与subprocess库的区别 二.multiprocessing使用介绍 1. 创 ...

  8. 7个最佳的学习Python编程的开源库

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|AI遇见机器学习 很多伙伴们在学习Python的过程中, ...

  9. python 判断中文标点符号_Python入门编程题库27--生成随机密码

    一.题目 请编写程序,生成随机密码.具体要求如下: (1)使用 random 库,采用 0x1010 作为随机数种子. (2)密码 有s中的字符组成. (3)每个密码长度固定为 10 个字符. (4) ...

最新文章

  1. 几个常见规则引擎的简单介绍和演示
  2. python自学多久可以找到工作-自学Python的高效方法,学Python多久能找到工作?
  3. 013_JavaScript函数
  4. springboot启动报错:Unregistering JMX-exposed beans on shutdown
  5. 210120 阶段三 fork与阻塞函数
  6. (十一)python3 只需3小时带你轻松入门——面向对象
  7. java lambda 多个参数_Java Lambda行为参数化
  8. Android BroadcastReceiver示例教程
  9. 卸载mysql服务器_彻底卸载MySQL服务
  10. 基于二阶矩阵的最优化问题(二)(附matlab代码)
  11. 用Bat文件创建桌面快捷方式
  12. 简述osi参考模型各层主要功能_简述OSI参考模型定义及各层的主要功能
  13. chosen插件使用
  14. 碲化铋纳米线合成步骤
  15. java.net.MalformedURLException: unknown protocol: jrt 异常解决方法
  16. 出差日程安排软件哪个好
  17. 【转】WebMagic-总体流程源码分析
  18. COM:根系微生物组研究中的合成群落还原法
  19. python是高级语言还是机器语言_02_python是一种什么语言?
  20. SuperSlide-v2.1.1

热门文章

  1. F5 APM针对Vmware view7.3 VDI业务发布测试问题分析
  2. 彻底删除0KB顽固文件或文件夹的方法
  3. 6、Learn by doing才是正确的技术学习姿势
  4. 最短路径Shortest Path algorithm
  5. 一个非常有用的辅助类 -- 阈值类的实现
  6. UCS B200安装windows server 2003
  7. Linux平台下Ntop流量监测安装,并实现Netflow全过程
  8. 让计划任务生成的文件中包含当前日期
  9. POS Tagging 标签类型查询表(Penn Treebank Project)
  10. vmware虚拟机磁盘挂载