gpt4 book ai didi

python - 如何使两个函数仅在其中一个函数完成其工作后才相互跟随

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

好吧,我有两个函数,它们都有一个全局变量,而且都是线程,

function 1
get global variable
do something
sleep()

function 2
get global variable
do something
sleep()

现在它们正在同步运行(两者的时间戳相同)或锁定(func1 进入休眠状态,只有在它醒来后 func2 才启动),具体取决于我使用的代码我想要发生的是 func1 完成工作并进入休眠状态,然后 func2 开始运行并进入休眠状态,我还需要一种方法来确保它们在同一时间醒来时不会试图超越彼此.

我怎样才能实现这样的行为?

最佳答案

您需要的是每个函数都表现得像“关键部分”。代码的关键部分是一次只能由一个线程执行的代码。执行此操作的一种简单的老式方法是使用 Peterson 的关键部分算法。 Here为了获得更好的方法,您可以使用来同步线程。如果第一个函数没有释放锁,则不允许线程进入另一个函数。 Here是阅读相关内容的好地方。

关于python - 如何使两个函数仅在其中一个函数完成其工作后才相互跟随,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52350094/

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