Python 2.7 在python中准确地跟踪时间与固定时间

Python 2.7 在python中准确地跟踪时间与固定时间,python-2.7,time,Python 2.7,Time,我的问题是,我用以下方式固定了文件中指定的预定义时间 开始时间1:10:00:00 结束时间1:11:40:42 开始时间2:16:00:00 结束时间2:19:52:50 开始时间3:20:01:01 结束时间3:23:59:59 我有一个简单的计数器,在10:00:00从0开始,然后在16:00:00从0开始,以此类推。计数器不会根据时间增量递增,但其他一些进程会独立于时间递增。因此,计数器应在开始时间精确返回0,其余计数器值将独立于时间。有什么建议我怎样才能做到这一点?因此,我的主要问题是

我的问题是,我用以下方式固定了文件中指定的预定义时间

开始时间1:10:00:00

结束时间1:11:40:42

开始时间2:16:00:00

结束时间2:19:52:50

开始时间3:20:01:01

结束时间3:23:59:59

我有一个简单的计数器,在10:00:00从0开始,然后在16:00:00从0开始,以此类推。计数器不会根据时间增量递增,但其他一些进程会独立于时间递增。因此,计数器应在开始时间精确返回0,其余计数器值将独立于时间。有什么建议我怎样才能做到这一点?因此,我的主要问题是我如何才能准确?计数器应在准确的开始时间变为0,既不迟于1秒,也不早于1秒。 我的代码是这样的

while True:
    if process:
        count += 1
    else: pass

因此,我的代码将始终保持在这个while循环中。

问题相当不精确,但主要的特殊性似乎是“其他进程”如何增加计数器的增量。如果所有时间都是同步的,并且存在共享文件访问,则可以使用共享文件来保持计数器值(增量和/或清除)。如果无法,则在主进程中启动一个服务器,该服务器将收到增加计数器的通知;在这种情况下,主要细节要求墙时间精度。谁将在事件发生时进行检测-服务器还是远程进程


更新:还不清楚代码示例()中的“流程”是什么。是否处于读取时自动重置的外部标志?你要手动复位吗?如果处理不当,在修改和重置之间可能会有竞争。

另一个过程基本上是生产线中的产品数量。因此,我不关心结束时间,因为生产线将自动停止在最后的时间,所以计数器将停止在结束时间,但在开始时计数器应该变成0,然后它将递增的项目数量从生产线出来。如果是这样,你可以重置计数器在中间关闭时间(例如14:00和19:55)。.是的,这是可能的,但在本例中,结束时间和开始时间之间的差距很大。如果结束时间是16:00:00,开始时间是16:00:01怎么办?如何才能更准确地避免错过1秒的间隔。如果间隔太近,您可以在服务器中检测时间戳-如果是,则事件引擎任务是在尽可能接近更改时刻的情况下生成通知,或者在远程进程中-如果是,响应可能会延迟,因此您应该保留上一个周期计数器,直到收集超时过期,并将远程时间戳与范围边距进行比较。创建一个调用以更新计数器的函数。在此函数中,如果当前小时数大于10且小于16,则发回递增1的计数器值,否则发回1。由于您仅在“工作”完成后更新计数器,因此不需要准确地知道计数器何时重置,只是在10到16小时的间隔之间,计数器不应重置,而应递增。即使要将计数器重置为正好10,也不需要计数器的值,除非您的工作流程已完成(此时您需要增加计数器的值)。我希望这是有意义的。我不能增加计数器,因为它将由我无法控制的其他计数器更新。我需要准确,因为假设我在10:00:02重置计数器,而其他进程以1秒的速率递增计数器,那么我将错过一个事件。