Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中,如何在另一个线程启动(活动)时通知我并避免繁忙的等待_Python_Multithreading_Signals - Fatal编程技术网

在python中,如何在另一个线程启动(活动)时通知我并避免繁忙的等待

在python中,如何在另一个线程启动(活动)时通知我并避免繁忙的等待,python,multithreading,signals,Python,Multithreading,Signals,我在这个场景中:在某一点上,主线程需要等待另一个线程启动(活动)。如何通知主线程 我不想写一个循环,让主线程忙着等待。非常感谢。使用threading.Semaphore在第二个线程上调用start之后,主线程将调用acquire。当第二个线程启动到您想要的点时,它将在同一信号量上调用release 如果第二个线程首先调用release,那么主线程将立即从acquire返回。如果主线程首先调用acquire,那么它将阻塞,直到第二个线程调用release 使用threading.Conditi

我在这个场景中:在某一点上,主线程需要等待另一个线程启动(活动)。如何通知主线程


我不想写一个循环,让主线程忙着等待。非常感谢。

使用
threading.Semaphore
在第二个线程上调用start之后,主线程将调用
acquire
。当第二个线程启动到您想要的点时,它将在同一信号量上调用
release

如果第二个线程首先调用
release
,那么主线程将立即从
acquire
返回。如果主线程首先调用
acquire
,那么它将阻塞,直到第二个线程调用
release


使用
threading.Condition
,其中一个条件变量可用于主线程和第二个线程。然后,主线程可以在启动第二个线程后等待变量。当第二个线程启动时,它可以更改变量,然后对其发出
notify