1.线程,首先 有一块空间是专门 来 为线程分配空间的
2.一旦线程对象执行start,那么 线程空间会开辟一块栈空间(标识为 线程名),代表这块 栈空间已经可以使用了,
3.线程栈空间已经开辟分配了,那此时线程(指的这块栈空间)此时的状态被标记为就绪态,并且 "可运行线程池"
(队列),加入 这个就绪态线程的地址,即简单来说,"可运行线程池"
中存的是 就绪态线程的地址,cpu只能从 “可运行线程池”
中,获取 就绪态线程的地址,并去 那块线程空间 取指令
4.一旦,线程的状态有所改变,那么“可运行线程池”
就会剔除其地址
5.运行态的线程,“可运行线程池”
也会剔除,这个线程正在被cpu执行
5.每个线程的状态,大部分都有 其容器(池,队列等),去存 其对应状态的线程的地址,例如 就绪态的线程,其地址就会被 可运行线程池
存着,阻塞态中的锁态的线程,就会被 锁池 存其地址
6.线程状态 只是 线程的一个标识,可以有很多,但是线程只有一个
7.因为线程的状态 在 一个时刻 只能是一个,那么可以知道 这些 存线程地址的容器中,一个时刻下都是存的不同的,例如 就绪态线程,此时只有 "可运行线程池"
存了这个线程的地址,其他容器没有
8."可运行线程池" 和 "线程池"和"连接池"的概念要区分开,上面都是谈的 可运行线程池的 情况
9.就绪态线程中 一个时刻,可以有指令,可以没有指令,不能用 线程中有没有指令,来判断,此线程是不是死亡状态