Python 如何使用多线程技术每两秒生产一个面包?
我想用多线程来模拟我们公司生产面包,我想每两秒钟生产一个面包:Python 如何使用多线程技术每两秒生产一个面包?,python,multithreading,Python,Multithreading,我想用多线程来模拟我们公司生产面包,我想每两秒钟生产一个面包: import threading import time def run(n): print ("product--%s" %n) time.sleep(2) start_time = time.time() for i in range(30): t = threading.Thread(target=run, args=("bread-%s"%i,)) t.start() 但似乎不要停顿两
import threading
import time
def run(n):
print ("product--%s" %n)
time.sleep(2)
start_time = time.time()
for i in range(30):
t = threading.Thread(target=run, args=("bread-%s"%i,))
t.start()
但似乎不要停顿两秒钟,它直接打印所有的面包:
product--bread-1
product--bread-2
product--bread-3
product--bread-4
product--bread-5
product--bread-6
product--bread-7
product--bread-8
product--bread-9
product--bread-10
product--bread-12
product--bread-11
product--bread-13
product--bread-14
product--bread-15
product--bread-16
product--bread-17
product--bread-18
product--bread-19
product--bread-20
product--bread-21
product--bread-22
product--bread-23
product--bread-24
product--bread-25
product--bread-26
product--bread-27
product--bread-28
product--bread-29
product--bread-30
时间。睡眠对我不起作用,如何实现我的要求?
我想每两秒钟生产一个面包,而不是一次生产所有面包。来自:
加入(超时=无)
等待线程终止。这将阻止调用线程,直到调用其join()方法的线程终止(正常终止或通过未处理的异常终止),或者直到出现可选超时
您可以使用join()
等待线程执行,加入每个新启动的线程
for i in range(30):
t = threading.Thread(target=run, args=("bread-%s"%i,))
t.start()
t.join()
从:
加入(超时=无)
等待线程终止。这将阻止调用线程,直到调用其join()方法的线程终止(正常终止或通过未处理的异常终止),或者直到出现可选超时
您可以使用join()
等待线程执行,加入每个新启动的线程
for i in range(30):
t = threading.Thread(target=run, args=("bread-%s"%i,))
t.start()
t.join()
您的代码设置为立即打印bread参数,然后休眠2秒。因此,当您执行此代码时,所有线程都会冲向打印
产品--bread-x
,并且只有在这样做之后,它们才会休眠。欢迎使用。请花点时间阅读它及其包含的链接。您的代码设置为立即打印bread参数,然后休眠2秒。因此,当您执行此代码时,所有线程都会冲向打印产品--bread-x
,并且只有在这样做之后,它们才会休眠。欢迎使用。请花点时间阅读它所包含的链接。