线程状态
线程可以处于下列状态之一:
NEW
至今尚未启动的线程处于这种状态。
RUNNABLE
正在 Java 虚拟机中执行的线程处于这种状态。
BLOCKED
受阻塞并等待某个监视器锁的线程处于这种状态。
WAITING
无限期地等待另一个线程来执行某一特定操作的线程处于这种状态。
TIMED_WAITING
等待另一个线程来执行取决于指定等待时间的操作的线程处于这种状态。
TERMINATED
已退出的线程处于这种状态
举例
如:
1.机场出租车停车接人
2.银行排队,普通柜台和VIP柜台
新建
new Thread
机场工作人员规划出一条或者多条出租车专用的路线,专门是用来给出租车接人用,但是这时候只是空的跑道,还没有人,没有出租车
启动
.start()方法启动对象
CPU:指挥出租车的机场人员
线程对象:出租车
.start方法之后,等于是出租车已排队了,等机场人员指挥(CPU),可以过来接人就可以过来接人
至于是1号车道的出租车先,还是2号车道的先,这个由CPU自己决定
睡眠 sleep
Thread.sleep
让出租车先等一会接人,当前车道停止一下
插队 join
Thread.join
有A、B2个车道,本来是只开放A车道,可以通过某些条件的触发,让B车道直行,强行插队