线程加入join和状态state
自己不执行完不允许其他人执行:比如电商中设置一个人不付钱不能退出界面
getState();查看线程运行状态
- 线程状态:new(新生),就绪状态,阻塞,运行,dead
- 线程被new出来时就进入新生状态:NEW
package com.li.changGe.multithreading.threadState;
public class JoinDemo01 extends Thread{
private static Thread thread = new Thread(() -> {
for (int i = 1; i <= 3; i++) {
System.out.println("我要付钱了,我拿出了"+i+"元");
}
},"长歌");
public static void main(String[] args){
Thread.State state = thread.getState();
System.out.println("Thread start before state:"+state);
thread.start();
state = State.RUNNABLE;
for (int i = 1; i <= 3; i++) {
System.out.println("系统消息:你已经买了东西了,可以付钱了"+i);
if(i == 2){
try {
thread.join();
System.out.println("Thread running start state:"+state);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
System.out.println("付钱后就可以退出界面了");
state = State.TERMINATED;
System.out.println("Thread ending after state:"+state);
}
}