from threading import Thread
import time
def filiterEmail():
start = time.clock()
i = 1
linksRegex = re.compile('.*flower.*', re.IGNORECASE)
with open("E:/abc.txt", 'rb') as fileSource:
for line in fileSource:
print(line)
i = i+1
if i == 5000000:
break
elapsed = (time.clock() - start)
print("Time used:", elapsed)
t = Thread(target=filiterEmail)
t.start()
上面是我的代码,运算出来跟我单线程基本是一样的时间。
到底是要用多线程还是多进程。
如果是多进程要怎么写呢?
谢谢。
你就一个线程在跑啊......
应该是分块读文件,比如分成三块,分别启三个线程处理1~10000,10001~20000,20001~30000行。
然后,pypy是有GIL的。
再然后,多线程和多进程在这个场景下都是可用的。