4
|
Allen Rice 0x6A75616E · 技术社区 · 15 年前 |
![]() |
1
5
我不会真的说你在做旋转等待,因为我通常认为旋转等待是不睡觉的东西。它只是在等待go信号时消耗处理器的所有时间。 |
![]() |
2
2
休眠线程和等待句柄超时基本上是同一回事。我猜定时器基本上是使用睡眠实现的,所以也没有太大区别。换句话说,您可以通过在单个循环中等待句柄并超时来简化代码,并检查释放等待的原因(数据可用或超时),而不是实现单独的等待和睡眠循环。比独立循环的效率略高。 理想情况下,您根本不会使用sleep,只需依赖数据生成代码来正确引发您的消费代码正在等待的事件,并在事件源消失时处理较长的超时。 如果数据是外部的,例如在套接字或其他输入设备上,则通常可以将句柄设置为允许等待数据变为可用-在这种情况下无需轮询,因为当数据准备好使用时,事件将始终发出信号。 |
![]() |
3
1
我们使用线程。它们的性能不仅像计时器一样,还为我们提供了一个在线程睡眠时执行其他操作的句柄。 |
![]() |
4
1
我认为这取决于你的要求:
事实上,我对一个类似的问题提出了更长的评论(包括对案例1的一些考虑)( Windows service scheduled execution |
![]() |
5
1
投票是不好的,而且几乎总是可以避免的。偶尔,对于一些琐碎的事情,它比避免它所需要的复杂性要糟糕得多。
还有,不要
|
![]() |
6
0
正如陈雷蒙解释的那样, "Yeah, whatever." 通知 当您的数据准备就绪时,您的SOL。 |
![]() |
Everett Kaser · 在事件处理程序中绘制到NSView 7 年前 |
![]() |
Mandroid · 在Scala中使用ForkJoinPool 7 年前 |
![]() |
luxDev · Java线程。睡眠(延迟)不工作 7 年前 |
![]() |
user2948965 · 在设备睡眠期间保持应用程序服务处于活动状态 7 年前 |
![]() |
LOSnel · 干扰irq将我从睡眠模式唤醒 7 年前 |
![]() |
Mahesh Jagtap · DBMS_锁。睡眠与UNIX睡眠 7 年前 |