您好,登錄后才能下訂單哦!
6個(gè)狀態(tài)定義:java.lang.Thread.State
cdn.xitu.io/2019/8/25/16cc94fbdba12374?w=1352&h=702&f=png&s=186390">
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("thread1當(dāng)前狀態(tài):" + Thread.currentThread().getState().toString());
System.out.println("thread1 執(zhí)行了");
}
});
System.out.println("沒調(diào)用start方法,thread1當(dāng)前狀態(tài):" + thread1.getState().toString());
thread1.start();
Thread.sleep(2000L); // 等待thread1執(zhí)行結(jié)束,再看狀態(tài)
System.out.println("等待兩秒,再看thread1當(dāng)前狀態(tài):" + thread1.getState().toString());
Thread thread2 = new Thread(new Runnable() {
@Override
public void run() {
try {// 將線程2移動(dòng)到等待狀態(tài),1500后自動(dòng)喚醒
Thread.sleep(1500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("thread2當(dāng)前狀態(tài):" + Thread.currentThread().getState().toString());
System.out.println("thread2 執(zhí)行了");
}
});
System.out.println("沒調(diào)用start方法,thread2當(dāng)前狀態(tài):" + thread2.getState().toString());
thread2.start();
System.out.println("調(diào)用start方法,thread2當(dāng)前狀態(tài):" + thread2.getState().toString());
Thread.sleep(200L); // 等待200毫秒,再看狀態(tài)
System.out.println("等待200毫秒,再看thread2當(dāng)前狀態(tài):" + thread2.getState().toString());
Thread.sleep(3000L); // 再等待3秒,讓thread2執(zhí)行完畢,再看狀態(tài)
System.out.println("等待3秒,再看thread2當(dāng)前狀態(tài):" + thread2.getState().toString());
Thread thread3 = new Thread(new Runnable() {
@Override
public void run() {
synchronized (Demo2.class) {
System.out.println("thread3當(dāng)前狀態(tài):" + Thread.currentThread().getState().toString());
System.out.println("thread3 執(zhí)行了");
}
}
});
synchronized (Demo2.class) {
System.out.println("沒調(diào)用start方法,thread3當(dāng)前狀態(tài):" + thread3.getState().toString());
thread3.start();
System.out.println("調(diào)用start方法,thread3當(dāng)前狀態(tài):" + thread3.getState().toString());
Thread.sleep(200L); // 等待200毫秒,再看狀態(tài)
System.out.println("等待200毫秒,再看thread3當(dāng)前狀態(tài):" + thread3.getState().toString());
}
Thread.sleep(3000L); // 再等待3秒,讓thread3執(zhí)行完畢,再看狀態(tài)
System.out.println("等待3秒,讓thread3搶到鎖,再看thread3當(dāng)前狀態(tài):" + thread3.getState().toString());
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。