[英]How to specify the number of threads in python's “threading” module
我是python多线程编程的新手。 但是要在合理的时间内运行我的功能,我必须使用它。 在在线教程中,我找到了以下基本代码:
import threading
def f(id):
print ("thread function:",id)
return
for i in range(3):
t = threading.Thread(target=f, args=(i,))
t.start()
我得到的输出是:
thread function: 0
thread function: 1
thread function: 2
在我的实际程序中,我有参数,这是要从本地文件读取的行。 我想将其传递给目标函数。 目标函数执行一些任务,然后将结果也写入本地文件。
我的问题:1)如何在上面的代码中指定线程数?
2)使目标函数将结果写入文件时是否存在任何问题? 多个线程可以同时写入吗? 有什么预防措施可以避免错误?
1)如何在上面的代码中指定线程数?
range
函数的参数是您的线程数。
2)使目标函数将结果写入文件时是否存在任何问题? 多个线程可以同时写入吗? 有什么预防措施可以避免错误?
是多线程的蟒蛇可能是,如果你不小心的管理你的数据结构非常奇怪的threader
功能使用。 因此,在天真的实现中,如果不控制write
操作,则可以有多个线程将同一行write
文件。 这就是说,您可能要做的就是将输入文件中的行放入queue
,然后在threader函数中get
该行并将其写入输出文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.