当前位置: 首页 > 面试题库 >

在Python中,如何在特定时间之前使线程休眠?

伯君浩
2023-03-14
问题内容

我知道我可以通过以下方法使线程休眠特定时间:

time.sleep(NUM)

如何让线程在凌晨2点之前进入睡眠状态?我需要做数学以确定直到凌晨2点的秒数吗?还是有一些库函数?

(是的,我知道Windows中的cron和等效系统,但是我想在python中正常睡眠我的线程,而不依赖于外部刺激或过程信号。)


问题答案:

这是一个半屁股解决方案,它不考虑时钟抖动或时钟调整。请参阅注释以了解解决方法。

import time
import datetime

# if for some reason this script is still running
# after a year, we'll stop after 365 days
for i in xrange(0,365):
    # sleep until 2AM
    t = datetime.datetime.today()
    future = datetime.datetime(t.year,t.month,t.day,2,0)
    if t.hour >= 2:
        future += datetime.timedelta(days=1)
    time.sleep((future-t).total_seconds())

    # do 2AM stuff


 类似资料:
  • 问题内容: 我有一个Web应用程序,每小时与中央数据库同步四次。该过程通常需要2分钟。我想将此进程作为线程在X:55,X:10,X:25和X:40运行,以便用户知道在X:00,X:15,X:30和X:45他们有数据库的干净副本。这只是管理期望。我已经通过了执行器,但是调度是通过它完成的,我认为不能保证以小时为单位的实际运行时间。我可以使用第一个延迟来启动,以便第一个接近启动时间和每15分钟的计划,

  • 问题内容: 我有一个扩展线程的类。该线程在运行时会花费大部分时间处于睡眠状态,它将执行检查,如果为true,则执行简单的操作,然后睡眠1/2秒并重复执行。 该类还具有由其他线程调用的公共方法。如果调用此方法,则我希望线程在已经处于休眠状态的情况下休眠更长的时间,或者在没有休眠的情况下立即休眠。我试图让this.sleep出现,但它似乎仍在休眠当前线程,并且它抱怨该方法sleep是静态的,应该被静态

  • 问题内容: 我想编写一个简单的python脚本来完成特定的工作。我花了一些时间从网站链接信息。 在正确的时间单击这些链接的最佳方法是什么?我是否需要计算当前电流与列表中的电流之间的时间间隔并睡眠一会儿? 我真的停留在这一点上,并欢迎任何可能有用的想法。 问题答案: 看一下Python的sched模块。

  • 问题内容: 我试图了解Python中的线程。我看过文档和示例,但坦率地说,许多示例过于复杂,我难以理解它们。 你如何清楚地显示为多线程而划分的任务? 问题答案: 我将在下面进行总结-最终仅是几行代码: 这是以下内容的多线程版本: 描述 Map是一个很棒的小功能,是轻松将并行性注入Python代码的关键。对于那些不熟悉的人来说,地图是从Lisp等功能语言中提炼出来的。它是将另一个功能映射到序列上的功

  • 问题内容: 我想以特定的时间间隔自动安排线程。我还需要在后台连续执行此操作,而不会挂在设备上。 我已经使用Application Manager Class进行了尝试,但这是用于应用程序调度的,我需要在应用程序内调度线程。 问题答案: 我会使用TimerTask: 请参阅BlackBerry API隐藏的宝石(第二部分)

  • 问题内容: 我需要检查当前时间是否在8 AM和3 PM之间。如果在这些时间范围之间,那么我需要返回yes,否则返回false。 但是我不确定我应该在这里使用吗?我可以不使用时间戳并相应地检查时间戳吗?什么是正确的方法? 我仍在使用Java 7。 问题答案: 如果您使用的是Java 8之前的Java版本,请查看Joda的API文档。 具体来说,有一个AbstractInterval#contains