案例-防止CPU占用100%
在没有利用CPU来计算时,不要让while(true)死循环空转浪费CPU,这时可以使用yield或sleep或wait,让出CPU的使用权给其他程序
sleep方法适用于无需同步锁的场景...2.4.5. join
join:
等待调用此方法的线程运行结束,适用于需要同步的场景
参数long类型:指定等待最大时间
@Slf4j
public class ThreadJoinMethod {...(调用了sleep,wait,join方法的线程)时,会清空打断标记(false)
打断处于运行状态的线程时,不会清空打断标记(true),不会强制终止线程,然后线程可以根据打断标记来决定是否继续运行(...接收到shutdown命令后,不会等待Acceptor,Poller线程处理完当前请求,而是直接结束
2.6....,当时间片用完时,进行线程上下文切换,变为可运行状态
阻塞状态:运行状态调用阻塞API就会进行线程上下文切换进入阻塞状态,这时CPU不会分发时间片给阻塞状态中的线程
例如线程进行BIO读写文件时就会进入阻塞状态