一个for循环的Python脚本程序中如何加入多进程(并发进程)呢,急急急,在线等?

 我来答
Lovesoo
推荐于2018-03-05 · TA获得超过2385个赞
知道小有建树答主
回答量:654
采纳率:66%
帮助的人:414万
展开全部
#下面是一个示例,我写了一个简单的for循环,并加入了多线程并发。
# -*- coding:utf-8 -*-
import thread,threading

#Test Function
def ForTest():
    for i in range(10):
        print i
        
class mythread(threading.Thread):
    def __init__(self,threadname):
        threading.Thread.__init__(self)
    def run(self):
        lock.acquire() 
        for j in xrange(int(times)):
            #Add Own Fuction Here
            ForTest()
        lock.release()
        
def MutiThread(num,times):
    threads=[]
    global ft
    for x in xrange(num):
        threads.append(mythread(num))
    for t in threads:
        lock.acquire()
        t.start() 
        lock.release()
    for t in threads:
        t.join()
if __name__ == '__main__':
    global num,times,lock
    
    num=2       #num 并发数
    times=2     #times 运行次数
    
    lock=threading.Lock()
    MutiThread(num,times)

运行结果:

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

润末扩竿半8O
2018-08-26 · 超过23用户采纳过TA的回答
知道答主
回答量:53
采纳率:46%
帮助的人:15.9万
展开全部
from multiprocessing import Process
#用这个list 保存进程
p_list = list()
# 先一起定义好,放到一个list里面
for i in range(100):
-----p1 = Process(target=目标函数, name='名字')
-----p_list .append(p1)
# 批量启动
for p in p_list:
-----p.daemon = True
-----p.start()
----- 这个是用来代替缩进的,方便观看代码,使用的时候记得删除。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神犹在
2018-09-15 · TA获得超过3630个赞
知道小有建树答主
回答量:656
采纳率:66%
帮助的人:134万
展开全部
什么意思呢?如果你是在要在循环体内创建多进程,每循环一次便增加一个进程,那么只需要把创建多进程的代码写入循环体内就好了,完全与在循环体外无任何区别。
如果你想要让整个循环创建的所有进程在执行时间上大致同步,那么我建议你先按循环长度创建好进程和管道或者队列,推荐队列,然后循环时将变量推送给不同的进程处理就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f036095c5
2018-09-05 · TA获得超过1234个赞
知道小有建树答主
回答量:729
采纳率:83%
帮助的人:640万
展开全部

简单的如下

from multiprocessing import Process
def ps(i):
print(str(i))
def run():
for i in range(5):
Process(target=ps, args=(i, )).start()
if __name__ == "__main__":
    run()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-04-07
展开全部
实现rannable接口的run方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式