1.线程的不同状态我们都可以看成是一个队列,新建线程队列,就绪线程队列、运行态队列、死亡态队列、阻塞态队列。
线程状态解释:
初始态:
当我们new Thread()创建了这么一个对象的时候就是初始态、或者叫做创建态。创建了之后的对象是可以被CPU调度的。
等待队列:
调用wait()方法会进入到等待队列。
其他线程调用notify会进入到锁池队列。再拿到对象锁才能够进入到可运行态。
可运行态和运行态
1.获取CPU时间片段 CPU slice。
2.yield()。
为什么wait要放到同步代码块中执行
在并发线程下,可能会造成lost wake up的问题。