【发布时间】:2020-05-02 20:04:33
【问题描述】:
假设我们有两个线程,A 和 B。B 周期性地做一些动作,而 A 被设置为休眠直到某个时间。我希望 B 能够调用函数keepSleeping(A),这将导致 A 的睡眠定时器被延长。如果keepSleeping(A) 没有被调用,A 最终应该会被唤醒。
在 Linux 上,有没有办法实现这一点不定期唤醒 A 以检查是否已调用 keepSleeping?
Resetting sleeping time of a thread 提出了类似的问题,但我想知道是否有更优雅的解决方案,不涉及 A 在不需要时醒来。
【问题讨论】:
-
如果你在谈论 Thread::sleep,那么答案是否定的。
标签: linux multithreading language-agnostic