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实现linux下使用xcopy的方法
Jun 28 Python
Python Sql数据库增删改查操作简单封装
Apr 18 Python
详解Python中for循环是如何工作的
Jun 30 Python
python和ruby,我选谁?
Sep 13 Python
基于python的字节编译详解
Sep 20 Python
Windows 7下Python Web环境搭建图文教程
Mar 20 Python
对Python中TKinter模块中的Label组件实例详解
Jun 14 Python
python Plotly绘图工具的简单使用
Mar 03 Python
python实现二分类和多分类的ROC曲线教程
Jun 15 Python
scrapy头部修改的方法详解
Dec 06 Python
基于Python中Remove函数的用法讨论
Dec 11 Python
python3实现Dijkstra算法最短路径的实现
May 12 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命名空间(namespace)的使用基础及示例
2014/08/18 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
laravel按天、按小时,查询数据的实例
2019/10/09 PHP
javascript 解析后的xml对象的读取方法细解
2009/07/25 Javascript
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
JavaScript OOP类与继承
2009/11/15 Javascript
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
2013/02/16 Javascript
JS对select控件option选项的增删改查示例代码
2013/10/21 Javascript
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
2016/04/15 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
详解js的六大数据类型
2016/12/27 Javascript
AngularJS中ng-class用法实例分析
2017/07/06 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
Python3实现生成随机密码的方法
2014/08/23 Python
Python中的zip函数使用示例
2015/01/29 Python
将python代码和注释分离的方法
2018/04/21 Python
PyCharm配置mongo插件的方法
2018/11/30 Python
Python根据服务获取端口号的方法
2019/09/25 Python
Django celery异步任务实现代码示例
2020/11/26 Python
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
Nordgreen台湾官网:极简北欧设计手表
2019/08/21 全球购物
幼儿园小班教学反思
2014/02/02 职场文书
意向协议书范本
2014/04/23 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
高一军训的心得体会
2014/09/01 职场文书
单位工作证明范文
2014/09/14 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
导游词之山东八大关
2019/12/18 职场文书
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang