python多进程并行代码实例


Posted in Python onSeptember 30, 2019

这篇文章主要介绍了python多进程并行代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

代码:

from multiprocessing import Process
import sys, os
import time


def timetask(string):
 while True:
  print(string)

def works(func, arg, worknum):
 proc_record = []
 for i in range(worknum):
  p = Process(target = func, args = (i,))
  p.start()
  proc_record.append(p)
 for p in proc_record:
  p.join()

if __name__ == '__main__':
 arg = 5
 procs = 4
 works(timetask, arg, procs)

效果图【未加锁,会发现数字1没出现,进程间资源抢夺导致】:

python多进程并行代码实例

优化之后效果:

python多进程并行代码实例

代码:

from multiprocessing import Process
import sys, os
import time
from threading import Lock


def timetask(string):
 mutex.acquire()
 while True:
  print(string)
  if mutex.locked():
   mutex.release()


mutex = Lock()

def works(func, arg, worknum):
 proc_record = []
 for i in range(worknum):
  p = Process(target = func, args = (i,))
  p.start()
  proc_record.append(p)
 for p in proc_record:
  p.join()

if __name__ == '__main__':
 arg = 5
 procs = 4
 works(timetask, arg, procs)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python递归计算N!的方法
May 05 Python
python 编程之twisted详解及简单实例
Jan 28 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
May 30 Python
Python unittest单元测试框架总结
Sep 08 Python
Django框架使用内置方法实现登录功能详解
Jun 12 Python
django框架模板中定义变量(set variable in django template)的方法分析
Jun 24 Python
基于sklearn实现Bagging算法(python)
Jul 11 Python
Python进程池Pool应用实例分析
Nov 27 Python
在pycharm中实现删除bookmark
Feb 14 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
Jan 21 Python
Python获取百度热搜的完整代码
Apr 07 Python
Python数据分析之pandas读取数据
Jun 02 Python
Python3实现二叉树的最大深度
Sep 30 #Python
给我一面国旗 python帮你实现
Sep 30 #Python
python的mysql数据库建立表与插入数据操作示例
Sep 30 #Python
感知器基础原理及python实现过程详解
Sep 30 #Python
基于python的BP神经网络及异或实现过程解析
Sep 30 #Python
Window10下python3.7 安装与卸载教程图解
Sep 30 #Python
Python检查图片是否损坏及图片类型是否正确过程详解
Sep 30 #Python
You might like
社区(php&&mysql)四
2006/10/09 PHP
实用函数4
2007/11/08 PHP
解析如何去掉CodeIgniter URL中的index.php
2013/06/25 PHP
php使用escapeshellarg时中文被过滤的解决方法
2016/07/10 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
JQuery 插件模板 制作jquery插件的朋友可以参考下
2010/03/17 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
node.js中的fs.fchmod方法使用说明
2014/12/16 Javascript
jQuery中filter()方法用法实例
2015/01/06 Javascript
JavaScript中实现单体模式分享
2015/01/29 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
JS中this上下文对象使用方式
2016/10/09 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
工厂模式在JS中的实践
2017/01/18 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
Vue组件通信的几种实现方法
2019/04/25 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
小程序中手机号识别的示例
2020/12/14 Javascript
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
python cv2截取不规则区域图片实例
2019/12/21 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
如何保障Web服务器安全
2014/05/05 面试题
新闻记者个人求职的自我评价
2013/11/28 职场文书
失业者真诚求职信范文
2013/12/25 职场文书
关于赌博的检讨书
2014/01/08 职场文书
《圆明园的毁灭》教学反思
2014/02/28 职场文书
我们的节日端午节活动方案
2014/03/02 职场文书
企业文明单位申报材料
2014/05/16 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python