【问题标题】:Is there any way to schedule an event without constantly running checks有没有办法在不经常运行检查的情况下安排活动
【发布时间】:2019-11-04 15:02:33
【问题描述】:

假设我想在满足某些条件时运行一个函数,例如我想在某个时间显示一条弹出消息。我是否必须经常检查,或者有没有其他方法可以安排一个事件而不必有一个恒定的循环?语言无关紧要,我只想知道算法是否存在。

【问题讨论】:

  • 你想在这段等待时间内计算其他东西吗?

标签: algorithm micro-optimization


【解决方案1】:

是的,有定时器,你不需要忙着等待检查时间。

任何名副其实的操作系统都有 sleep 函数(有时使用该名称)来休眠固定的秒数,和/或 alarm 函数需要唤醒时间。计时器是或可以是硬件支持的,因此操作系统也不会忙于等待。

POSIX alarm(2) 需要以秒为单位的时间,而不是一天中的时间,但与 POSIX sleep(2) 不同的是,它不能“早起”。所以你可以设置一个闹钟,然后使用sleep,直到闹钟把你叫醒。或者在 SIGALRM 之前做其他事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-01
    • 2020-12-29
    • 1970-01-01
    • 2014-06-02
    相关资源
    最近更新 更多