两种方法Thread#run
and Thread#wakeup
不知何故不同,但我不清楚。有人可以提供一对差异最小的代码(即差异仅在一个代码中使用 run
,在另一个代码中使用 wakeup
),显示不同的结果,并可能解释是吗?
编辑 正如 Cary 指出的那样,它确实是 this question 的副本,那里有一个很好的答案,但现在我不确定线程唤醒但不运行意味着什么。这与处于 sleep 状态的线程有何不同?
最佳答案
回答你的第二个问题。您不能安排休眠线程,但是当线程处于唤醒状态时,您可以安排它运行,即使它当前没有运行。
根据我对唤醒与运行的理解,添加到第一部分是运行在其中调用唤醒,然后在其上调用运行。
希望对您有所帮助。
关于ruby - Thread#run 和 Thread#wakeup 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20033580/