- 论坛徽章:
- 0
|
本帖最后由 jeffinier 于 2017-02-04 15:23 编辑
刚学python多线程,想把几个小文件写入一个大文件(xaa, xab,xac都写入newfile),分3个线程执行,像下面这样的写法,3个线程不是同步执行。 但如果把worker定义成分开的3个函数, 就可以同时运行,问题在哪里?
def worker(file):
for line in open(file).readlines():
line = line.strip()
time.sleep(0.005)
print >> newfile, line
threads = []
t1 = threading.Thread(target=worker("xaa"))
threads.append(t1)
t2 = threading.Thread(target=worker("xab"))
threads.append(t2)
t3 = threading.Thread(target=worker("xac"))
threads.append(t3)
for t in threads:
t.setDaemon(True)
t.start()
|
|