#-*-encoding:utf-8-*-
import threading
from change2 import *
from thelast import *
import datetime
file_lists=getfile()
def thread_main():
global file_lists,mylock
threadname=threading.currentThread().getName()
for x in range(0,len(file_lists)):
mylock.acquire()
caculate(file_lists[x],'data.txt')
mylock.release()
print threadname,x
if x==len(file_lists):
break
def main():
starttime=datetime.datetime.now()
print starttime
global mylock,file_lists
threads=[]
mylock=threading.RLock()
for x in xrange(0,4):
threads.append(thread_main())
for t in threads:
t.start()
for t in threads:
t.join()
endtime=datetime.datetime.now()
print endtime
t=(endtime-starttime).minutes
print "the sum time is:%s"%str(t)
if __name__=="__main__":
main()
import threading
from change2 import *
from thelast import *
import datetime
file_lists=getfile()
def thread_main():
global file_lists,mylock
threadname=threading.currentThread().getName()
for x in range(0,len(file_lists)):
mylock.acquire()
caculate(file_lists[x],'data.txt')
mylock.release()
print threadname,x
if x==len(file_lists):
break
def main():
starttime=datetime.datetime.now()
print starttime
global mylock,file_lists
threads=[]
mylock=threading.RLock()
for x in xrange(0,4):
threads.append(thread_main())
for t in threads:
t.start()
for t in threads:
t.join()
endtime=datetime.datetime.now()
print endtime
t=(endtime-starttime).minutes
print "the sum time is:%s"%str(t)
if __name__=="__main__":
main()
本文介绍了一个使用Python多线程进行文件数据处理的例子。通过定义全局变量和锁机制确保了多线程环境下对共享资源的安全访问。具体实现包括获取文件列表、定义线程任务以及启动和管理线程。

被折叠的 条评论
为什么被折叠?



