线程同步时间读取

时间:2019-05-23 11:48:36

标签: python-3.x multithreading python-multithreading

我有多个线程运行无限while true,而他们彼此之间并不知道彼此的存在。

在它们各自的循环中,我需要它们检查时间并在下一次迭代之前基于该时间进行操作,如下所示:

Thread:
    while True:
        now = timedate.now()
        # do something
        time.sleep(0.2)

这些线程是通过以下方式在我的主程序中启动的:

Main:
    t1.start()
    t2.start()
    t3.start()
    ...
    ...
    while True:
        #main program does something

问题是,我需要所有正在运行的线程在检查它们的同时接收相同的时间。

我当时正在考虑创建一个带有锁的类并使用一个变量来存储时间,第一个获得锁的线程将时间保存在其中,以便后续线程可以读取它,但是对我来说,这似乎是一个经典一种变态的处理方式(再加上我不知道如何检查所有线程何时都已读取更新时间)。

如果可能的话,最好的方法是什么?

0 个答案:

没有答案