线程的几种状态

Java线程生命周期

image-20220317220651261

注意当我们运行start时,线程并不是立即执行的,而是根据cpu的执行状况来进行判定。线程的sleep与wait是两个不同的方法,sleep会自动结束阻塞状态,而wait是进入锁池状态,需要进行唤醒。

image-20220317222950788

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
* @author zss
*/
public class Test {
public static void main(String[] args) throws InterruptedException {
AA aa=new AA();
Thread thread=new Thread(aa);
thread.start();
for (int i=0;i<10;i++){
Thread.sleep(1000);
System.out.println(i+""+thread.getState());
}
}
}
class AA implements Runnable{

@Override
public void run() {
for (int i=0;i<10;i++){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(i);
}
}
}

image-20220317223959672