如何在Python中休眠所有线程

如何在Python中休眠所有线程,python,multithreading,Python,Multithreading,我知道在python中,我们可以使用time.sleep(1)使当前线程休眠一秒钟。但是我想要的是让所有线程都休眠,否则我的程序会出现一些并发性问题。有人知道怎么做吗?我建议你使用信号灯s、RLocks和/或事件 阅读并享受它!;-) 我建议您使用信号灯s、RLocks和/或事件 阅读并享受它!;-) 一个线程突然更改另一个线程的执行,如果更改后的线程处于不一致或无效状态,可能会造成严重甚至严重的线程安全问题。您可能希望使用一种协作方法,每个线程都会自己检查是否发出了睡眠请求,以便在睡眠前确保自

我知道在python中,我们可以使用
time.sleep(1)
使当前线程休眠一秒钟。但是我想要的是让所有线程都休眠,否则我的程序会出现一些并发性问题。有人知道怎么做吗?

我建议你使用
信号灯
s、
RLock
s和/或
事件


阅读并享受它!;-)

我建议您使用
信号灯
s、
RLock
s和/或
事件


阅读并享受它!;-)

一个线程突然更改另一个线程的执行,如果更改后的线程处于不一致或无效状态,可能会造成严重甚至严重的线程安全问题。您可能希望使用一种协作方法,每个线程都会自己检查是否发出了睡眠请求,以便在睡眠前确保自己的状态一致。到目前为止,您自己做了哪些尝试?正如@scottb所提到的,这可能会导致严重的问题,因为线程可能正在执行关键的工作。您可能需要构建类似于线程池的东西。当你让一根线睡着时,所有其他的线都会等待它。类似这样:Javastic解决线程同步问题的方法不是使用thread.sleep(这是创建不可移植代码的可靠方法)。相反,使用了类似于
CountDownLatch
的并发原语。当一个线程到达必须等待所有其他线程完成其工作的点时,锁存将减少,该线程将休眠。当闩锁达到零时,所有线程都已完成其工作并同步。然后发出一个事件,通知线程它们可以继续。Python应该有类似的线程功能。一个线程在没有其他线程合作的情况下强制其他线程睡眠将产生并发问题,而不是解决问题。这个问题有点像,“我从来没有建造过吊桥,但似乎用棉花建造吊桥是有意义的。我该怎么做?”首先学习正常的方法,然后你可以对可能更好的不寻常的方法形成有能力的判断。一条线突然改变另一条线的执行可能会产生严重的,甚至是批评的,如果更改的线程处于不一致或无效状态,则会出现线程安全问题。您可能希望使用一种协作方法,每个线程都会自己检查是否发出了睡眠请求,以便在睡眠前确保自己的状态一致。到目前为止,您自己做了哪些尝试?正如@scottb所提到的,这可能会导致严重的问题,因为线程可能正在执行关键的工作。您可能需要构建类似于线程池的东西。当你让一根线睡着时,所有其他的线都会等待它。类似这样:Javastic解决线程同步问题的方法不是使用thread.sleep(这是创建不可移植代码的可靠方法)。相反,使用了类似于
CountDownLatch
的并发原语。当一个线程到达必须等待所有其他线程完成其工作的点时,锁存将减少,该线程将休眠。当闩锁达到零时,所有线程都已完成其工作并同步。然后发出一个事件,通知线程它们可以继续。Python应该有类似的线程功能。一个线程在没有其他线程合作的情况下强制其他线程睡眠将产生并发问题,而不是解决问题。这个问题有点像,“我从来没有建造过吊桥,但似乎用棉花建造吊桥是有意义的。我怎么能做到呢?”首先学习正常的方法,然后你就可以对可能更好的不寻常的方法做出有能力的判断。