【发布时间】:2019-02-20 08:04:47
【问题描述】:
好的,所以我有 2 个函数,它们都有一个全局变量,它们都是线程,
function 1
get global variable
do something
sleep()
function 2
get global variable
do something
sleep()
现在它们正在同步运行(两者的时间戳相同)或锁定(func1 进入睡眠状态,只有在它唤醒之后 func2 才会启动)取决于我使用的代码 我想要发生的是 func1 完成它的工作并进入睡眠状态,然后 func2 开始运行并进入睡眠状态,我还需要一种方法来确保如果它们同时醒来,它们不会试图超越对方.
我怎样才能实现这样的行为?
【问题讨论】:
-
为什么不设置func1的最后一行调用func2呢?
-
因为 func1 进入睡眠状态它不会运行 thread2 直到它醒来
-
+ 它只是给代码增加了更多的复杂性。在我的情况下,它几乎是意大利面条代码,因为用户选择他想要运行 func1 或 func2 或一起运行它们......
-
使用了线程锁机制而不是队列,上面的帖子你给了我这个链接 [link] hackernoon.com/… [/link] 我用这篇文章使用锁来修复它
标签: python multithreading python-multithreading