两种方法Thread#run
and Thread#wakeup
在某种程度上是不同的,但我不清楚。有人可以提供一对差异最小的代码(即差异只是在一个中使用run
,在另一个中使用wakeup
),显示不同的结果,并可能解释它吗?
编辑正如Cary指出的那样,它确实是this question的副本,并且有一个很好的答案,但现在我不确定唤醒一个线程意味着什么但没跑。这与处于睡眠状态的线程有什么不同?
答案 0 :(得分:0)
回答你的第二个问题。您无法安排休眠线程,但是当线程处于唤醒状态时,即使它当前没有运行,也可以安排它运行。
从我对wakeup vs run的理解中添加到第一部分是运行调用wakeup在其中,然后调用run on it。
希望有所帮助。