python 多进程 循环_python 多进程读取同一个循环处理、可以用multiprocessing
匿名用戶
1級
2014-08-15 回答
可以每個在func中加上一個參數data,data是這個線程處理的數據;
多線程處理的時候,給每個線程分配相應的data就可以了。
給個示例:
#?-*-?coding:utf-8?-*-
import?thread,threading
import?time
def?FuncTest(tdata):
print?tdata
class?mythread(threading.Thread):
def?__init__(self,threadname):
threading.Thread.__init__(self)
def?run(self):
lock.acquire()
FuncTest(ft)
lock.release()
def?MutiThread(num):
threads=[]
i=0
global?ft
for?x?in?xrange(num):
threads.append(mythread(num))
for?t?in?threads:
time.sleep(0.5)
lock.acquire()
ft=GetThreadParam(datafile,num,i)
#print?'[%s]Thread:%s,Testdata:%s'%(time.ctime(),t,ft)
i=i+1
t.start()
lock.release()
for?t?in?threads:
t.join()
def?GetThreadParam(datafile,?num,?curthread):
#線程數需要小于文件行數
f=open(datafile,'r')
lines=f.readlines()
divres=divmod(len(lines),num)
if?curthread>>
['1\n', '2\n', '3\n']
['4\n', '5\n', '6\n']
['7\n', '8\n', '9\n', '10']
總結
以上是生活随笔為你收集整理的python 多进程 循环_python 多进程读取同一个循环处理、可以用multiprocessing的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git 怎么备份本地分支_Git常用个人
- 下一篇: linux rmp命令安装包在哪里_【M