1 package 多线程练习;
2
3 public class 观测线程状态 {
4 public static void main(String[] args) {
5 Runnable runnable = () -> {
6 for (int i = 0; i < 5; i++) {
7 try {
8 Thread.sleep(1000);
9 } catch (InterruptedException e) {
10 e.printStackTrace();
11 }
12 }
13 System.out.println("线程结束");
14 };
15
16 Thread thread = new Thread(runnable);
17 Thread.State state = thread.getState();
18 System.out.println(state);
19
20 thread.start();
21 state = thread.getState();
22 System.out.println(state);
23
24 while (state != Thread.State.TERMINATED) {
25 try {
26 Thread.sleep(100);
27 } catch (InterruptedException e) {
28 e.printStackTrace();
29 }
30 state = thread.getState();
31 System.out.println(state);
32 }
33
34
35
36 }
37 }