* 线程状态
* 操作系统五种:
* 初始状态
* 可运行状态
* 运行状态
* 阻塞状态 阻塞的io操作
* 终止状态
*
* 线程六种状态
* NEW
* RUNNABLE 涵盖操作系统的运行,可运行,阻塞 调用阻塞api状态
* BLOCKED 没有获取到锁
* WAITING 调用join
* TIMED_WAITING join(timeOut)
* TERMINATED
*/
private static void test5() {
Thread t1 = new Thread(() -> {
log.info("running");
}, "t1");
Thread t2 = new Thread(() -> {
while (true) {
}
}, "t2");
t2.start();
Thread t3 = new Thread(() -> log.info("running"), "t3");
t3.start();
Thread t4 = new Thread(() -> {
synchronized (Test5.class){
try {
Thread.sleep(1000000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}, "t4");
t4.start();
Thread t5 = new Thread(() -> {
try {
t2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}, "t5");
t5.start();
Thread t6 = new Thread(() -> {
synchronized (Test5.class) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}, "t6");
t6.start();
log.info("{}",t1.getState());
log.info("{}",t2.getState());
log.info("{}",t3.getState());
log.info("{}",t4.getState());
log.info("{}",t5.getState());
log.info("{}",t6.getState());
}