Python for循环创建多进程

import threading
 
def ThFun(start, stop):
    print(start, stop)
 
startTime = time.time()
size = 10001	#总任务数
num_p = 5	#进程数
tasks_num = int(size/num_p)	#单个进程的任务数
p = Pool(num_p)
for n in range(0, size, tasks_num):
    stop = n + tasks_num if n + tasks_num <= size else size
    p.apply_async(ThFun, args=[n, stop])
p.close()
p.join()
endTime = time.time()
print(endTime - startTime)
0 2000
2000 4000
4000 6000
6000 8000
8000 10001
2.4579620361328125
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,可以使用多进程来执行for循环中的任务。引用[1]中的代码展示了一个使用多进程执行任务的示例。首先,需要导入必要的模块,包括time、random和multiprocessing。然后,定义一个任务函数task,该函数接受三个参数arg、i和string_。在任务函数中,首先生成一个0到1之间的随机值value,然后通过sleep函数阻塞一小段时间。接下来,打印arg的总和,并输出一条消息表示任务完成。在主程序中,定义了一个进程池的大小pool_num和一个参数列表args_list。然后,使用列表推导式创建了多个进程对象,并将它们放入一个进程列表processes中。接着,使用start方法启动所有进程,并使用join方法等待所有进程完成。最后,输出一条消息表示所有任务已完成。 引用[2]中的代码展示了另一个使用多进程执行for循环的示例。首先,导入必要的模块,包括multiprocessing和os。然后,定义一个工作函数work,该函数接受一个参数num。在工作函数中,打印工作的编号和当前进程的名称和进程ID。在主程序中,创建一个进程列表jobs,并使用循环创建多个进程对象,并将它们放入进程列表中。然后,使用start方法启动所有进程,并使用join方法等待所有进程完成。最后,输出一条消息表示主进程结束。 综上所述,以上两个示例展示了如何使用多进程来执行for循环中的任务。你可以根据自己的需求选择适合的方法来实现多进程的并行执行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值