玩轉java多執行緒 之多執行緒基礎 執行緒狀態 及執行緒停止實戰
從網上先找了下,覺得這兩張圖比較好
比較清楚的看到執行緒的5大狀態
新生狀態:
Thread t = new Thread()
執行緒物件一旦建立,就進入到新生狀態
就緒狀態
當呼叫start()方法,執行緒立即進入就緒狀態的,但是並不意味著立即排程執行
阻塞狀態:
當呼叫sleep,wait或者是同步鎖定時,執行緒進入阻塞狀態,程式碼不往下繼續執行,阻塞事件解除後,重新進入就緒狀態,等待cpu的排程執行
執行狀態:
進入執行狀態,執行緒真正執行執行緒體的程式碼塊
dead狀態:
執行緒中斷或者結束,一旦進入死亡狀態,就不能再次啟動
執行緒方法:
//更改執行緒的優先順序
setPriority(int new Priority)
//在指定的毫秒數讓正在執行的執行緒休眠
static void sleep(long millis)
//等待該執行緒終止
void join()
//暫停當前正在執行的執行緒物件,並執行其他執行緒
static void yield()
//中斷執行緒,別用這個方式
void interrupt()
//測試執行緒是否處於活動狀態
boolean isAlive()
停止執行緒,不推薦使用jdk提供的stop(),destroy()方法,這兩個方法已經廢棄
推薦執行緒自己停止下來
建議使用一個標誌位進行終止變數,當flag=false,終止執行緒執行
好了,看下程式碼
package duoxiancheng;
//測試執行緒停止
public class TestStop implements Runnable{
//設定一個標誌位
private boolean flag = true;
@Override
public void run() {
int i = 0;
while(flag) {
System.out.println("run ... Thread" + i++);
}
}
//設定一個公開的方法停止執行緒,轉換標誌位
public void stop() {
this.flag = false;
}
public static void main(String[] args) {
TestStop testStop = new TestStop();
new Thread(testStop).start();
for (int i = 0; i < 1000; i++) {
System.out.println("main" + i);
if(i == 900) {
//呼叫stop方法切換標誌位,停止執行緒
testStop.stop();
System.out.println("執行緒該停止了");
}
}
}
}
這個我都是在b站跟著狂神視訊做的筆記,
大家有興趣可以看下,講的很贊
好了,今天就先到這裡了~
相關文章
- Java多執行緒-執行緒狀態Java執行緒
- 【java多執行緒】(二)執行緒停止Java執行緒
- Java 多執行緒基礎(四)執行緒安全Java執行緒
- 多執行緒的執行緒狀態及相關操作執行緒
- 【多執行緒與高併發】- 執行緒基礎與狀態執行緒
- Java 多執行緒基礎(八)執行緒讓步Java執行緒
- 多執行緒系列(1),多執行緒基礎執行緒
- Java多執行緒-執行緒中止Java執行緒
- Java執行緒池一:執行緒基礎Java執行緒
- Java多執行緒之守護執行緒實戰Java執行緒
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- 多執行緒系列(三):執行緒池基礎執行緒
- 多執行緒併發篇——如何停止執行緒執行緒
- 多執行緒學習一(多執行緒基礎)執行緒
- Java多執行緒之執行緒中止Java執行緒
- Java多執行緒-執行緒通訊Java執行緒
- java 多執行緒守護執行緒Java執行緒
- Java多執行緒(2)執行緒鎖Java執行緒
- java多執行緒9:執行緒池Java執行緒
- Java 多執行緒基礎(十一)執行緒優先順序和守護執行緒Java執行緒
- 多執行緒--執行緒管理執行緒
- 執行緒與多執行緒執行緒
- 多執行緒【執行緒池】執行緒
- java 停止執行緒Java執行緒
- Java 多執行緒基礎(六)執行緒等待與喚醒Java執行緒
- java - 多執行緒基礎Java執行緒
- JAVA 執行緒狀態及轉化(轉)Java執行緒
- 【Java多執行緒】執行緒安全的集合Java執行緒
- 【Java】【多執行緒】執行緒池簡述Java執行緒
- Java多執行緒-執行緒池的使用Java執行緒
- 程式執行緒篇——程式執行緒基礎執行緒
- 多執行緒之初識執行緒執行緒
- Java執行緒狀態轉換Java執行緒
- 多執行緒和多執行緒同步執行緒
- JavaSE_多執行緒入門 執行緒安全 死鎖 狀態 通訊 執行緒池Java執行緒
- 執行緒狀態執行緒
- Java多執行緒學習(3)執行緒同步與執行緒通訊Java執行緒
- 多執行緒基礎執行緒