线程的三种状态:运行即获得执行权,冻结即失去了执行权,消亡即不存在了。一般线程创建并开始执行时,并不会立即就获得执行权,而是处在一个
临时状态即阻塞状态,这个状态下线程具备运行的资格,但并没有获取CPU的执行权。这里的阻塞个人理解,当线程获取CPU的执行权时,会有一个判断,看此
线程有没有要处理的数据,如果有的话,CPU就分配执行权,没有的话,CPU就不给线程分配执行权,让线程继续处于此临时状态。
打个比方:你去食堂买饭。当然一般情况下,每个窗口都有人,排队的状态就是一个临时的状态。当然你要是幸运,遇到今天有的窗口没人,你就可以直接买到饭了,即直接
获取执行权。这里的阻塞就是轮到你买饭了,你刷饭卡,发现没钱了,打饭的大妈,就不给你打饭,等你充钱了才可以即获取数据了才可以获取执行权,要不然你就只能是一个有打饭资格却打不到饭的人,这时你就只好去充钱然后再去打饭
再让大妈给你打饭。 |