python多进程并行代码实例

作者:科技改变未来☆ 时间:2023-04-02 03:09:00 

这篇文章主要介绍了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)

来源:https://www.cnblogs.com/codeDevotee/p/11610759.html

标签:python,多,进程,并行
0
投稿

猜你喜欢

  • Python基础面向对象之继承与派生详解

    2022-04-20 11:58:53
  • asp函数收藏

    2009-04-21 13:10:00
  • python使用pyaudio录音和格式转化方式

    2023-11-07 19:30:03
  • python 执行文件时额外参数获取的实例

    2022-09-24 05:46:54
  • SQL Server 2012 安装与启动图文教程

    2024-01-27 08:33:35
  • MySQL中delimiter的作用

    2010-10-25 20:26:00
  • JS轮播图实现简单代码

    2024-04-28 09:38:41
  • python删除文件夹中具有相同后缀类型文件的实战演练

    2022-04-18 19:47:29
  • python数组循环处理方法

    2023-08-03 16:36:19
  • php通过获取头信息判断图片类型的方法

    2023-11-10 00:31:50
  • python 一维二维插值实例

    2022-07-17 10:09:08
  • 使用ASP调用C#写的COM组件

    2010-04-03 20:45:00
  • PHP 获取远程网页内容的代码(fopen,curl已测)

    2024-05-05 09:17:59
  • TXT.WORD文档下载另存为,而不是在浏览器中打开

    2007-10-25 11:43:00
  • 最长用最基本的MSSQL数据库备份与还原

    2024-01-17 18:23:07
  • Pytorch保存模型用于测试和用于继续训练的区别详解

    2021-12-02 08:49:39
  • Python程序实现向MySQL存放图片

    2022-12-02 13:34:38
  • mysql中profile的使用方法教程

    2024-01-16 02:28:52
  • 如何打包Python Web项目实现免安装一键启动的方法

    2022-08-16 19:28:48
  • PyQt QListWidget修改列表项item的行高方法

    2022-02-08 08:33:35
  • asp之家 网络编程 m.aspxhome.com