- 线程等待
- 线程之间是并发执行的关系
- 多个线程之间,谁先执行,谁后执行,谁执行到那里让cpu运行,我们是无法是控制的,只能让系统的内核去控制
- 但是我们可以控制用jion方法来让那个线程去先结束
- jion方法,执行jion方法线程就会阻塞,一直到等到对应线程的jion方法执行完才会执行,join方法存在的意义就是为了控制线程结束得先后顺序
2.线程休眠
-
就是让正在的运行的线程去休息一会,等段时间在执行
-
sleep就是让对应线程的PCB从就绪队列进入到阻塞队列
-
线程状态
-
NEW Thread对象有了,内核中的(PCB)还没有。
-
RUNNABLE 就绪状态,当前线程正在CPU上执行或者已经准备号随时上CPU,有一个专门的就绪队列来维护
-
BIOLCKED 锁 阻塞状态
-
WAITING 阻塞状态
-
TIME_WAITING 阻塞状态 超时等待
-
TERMINATED 内核中的线程已经结束了,也就是说PCB没了。但代码中的Thread对象还在。这个对象等待GC来回收