gpt4 book ai didi

python - 在Python中,创建一个线程然后join()比正常的阻塞过程有什么好处吗?

转载 作者:行者123 更新时间:2023-12-01 02:01:00 24 4
gpt4 key购买 nike

在Python中,创建一个线程然后join()比正常的阻塞过程有什么好处吗?例如这段代码是:

def sleep():
time.sleep(5)

print "start..."
t = threading.Thread(target=sleep)
t.start()
t.join()
print "end..."

还有比这更好的吗:

def sleep():
time.sleep(5)

print "start..."
sleep()
print "end..."

是否存在其中一种比另一种更好的用例或情况?

最佳答案

一般来说,如果您在单个线程上加入,那么与非线程方法相比并没有多大好处。

我唯一能想到的是你可以为 join 指定一个超时。限制计算可能花费的时间。这在没有线程的情况下也是可能的,但它需要您修改目标函数(定期检查是否已达到时间限制)。使用 join 超时对于底层函数来说是透明的。

显然,如果您有多个线程,那么连接一个或多个线程与单线程程序有很大不同,因为线程然后并行工作,而只有主线程等待连接完成。

关于python - 在Python中,创建一个线程然后join()比正常的阻塞过程有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49625222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com