多线程的睡眠()方法和良率()方法有什么区别?
2022-08-31 14:13:39
我们可以通过使用 Thread 类的 3 种方法中的任何一种来阻止线程的执行:
yield()
方法暂时暂停当前正在执行的线程,以便为具有相同优先级或更高优先级的其余等待线程提供执行机会。如果没有等待线程或所有等待线程的优先级较低,则同一线程将继续执行。当获得执行机会时,生成的线程由线程调度程序决定,其行为取决于供应商。
join()
如果 t2 上有任何执行线程 t1 调用(即 ),则 t1 将立即进入等待状态,直到 t2 完成其执行。join()
t2.join()
sleep()
根据我们的要求,我们可以使线程在指定的时间段内处于休眠状态(希望我们最喜欢的方法不需要太多的解释)。
sleep()
使线程在给定的时间内绝对停止执行;如果没有其他线程或进程需要运行,CPU 将处于空闲状态(并且可能进入省电模式)。
yield()
基本上意味着线程没有做任何特别重要的事情,如果需要运行任何其他线程或进程,它们应该运行。否则,当前线程将继续运行。