有以下示例:
import threading
from queue import Queue
def myfunc():
while True:
num = queue.get()
print(num / 10)
queue.task_done()
def myfunc2():
while True:
num = queue.get()
print(num * 10)
queue.task_done()
queue = Queue()
for t in range(3):
t = threading.Thread(target=myfunc)
t.setDaemon(True)
t.start()
mylist = []
for x in range(10):
for i in range(10):
for i in range (10):
mylist.append(i)
for i in mylist:
queue.put(i)
queue.join()
在这种情况下,如何在循环执行期间将线程的目标更改为myfunc2
?
与上一个问题一样,我建议使用线程池而不是自己创建一个。
我认为这段代码会对你有所帮助。它应该用来代替你的循环
for t in range(3)