導航:首頁 > 編程語言 > java線程中斷重啟

java線程中斷重啟

發布時間:2022-07-06 20:16:21

『壹』 java中如何中斷線程

1: 給你的線程類抄一個標識符襲,然後在循環中對這個標志做判斷,如果為false則跳出循環,自動結束線程(線程在run()裡面執行完就自動關閉了),而你可以再線程外對這個標識符做控制。2: 對線程對象調用interrupt(),這樣在run中使用sleep,wait等方法時自動拋出一個InterruptedException異常,在catch裡面可以跳出循環。

『貳』 java 多線程 重啟

您好,線程停止了就結束了,所以你若想讓你一個線程停止了又能再重新開始,那隻能讓這個線程sleep。
如下一段代碼就可以實現你的需求了,希望你能看懂!!

package com.lxh.;

public class ThreadRestart extends Thread {

private static int i = 0;

@Override
public void run() {
while(true) {
// 這里用來判斷線程是否繼續停止,不執行代碼邏輯
if(i == 1) {
try {
sleep(100);
System.out.println("........");
continue;
} catch (InterruptedException e) {
e.printStackTrace();
}
}

// 假設這是你線程中的一段邏輯
{
System.out.println("Happy Happy....");
}
}
}

public static void main(String[] args) throws Exception {
ThreadRestart threadTest = new ThreadRestart();
threadTest.start();

for (int j = 0; j < 20; j++) {
// 假設執行如下一段代碼邏輯時,讓線程threadTest執行
{
i = 0;
Thread.sleep(2000);
}

// 假設執行如下的一段代碼邏輯後,讓線程threadTest停止執行
{
i = 1;
Thread.sleep(2000);
}
}

// 退出整個程序
System.exit(0);
}
}

『叄』 如何正確地中斷java線程

1.  使用退出標志,使線程正常退出,也就是當run方法完成後線程終止。 
2.  使用stop方法強行終止線程(這個方法不推薦使用,因為stop和suspend、resume一樣,也可能發生不可預料的結果)。 
3.  使用interrupt方法中斷線程。 

『肆』 在java中什麼辦法可以讓線程停止然後再重新啟動它

1.你可以用布爾值來抄控制是否讓襲線程運行。例:while(boolean isLive){} 當isLive為true線程就運行,否則不運行。
2.你可以用對象。例:while(Object o != null)當對象存在的時候線程就運行,否則不運行!
3.你可以用wait()方法來讓線程等待,然後用notify()、notifyAll()在適當的時候喚醒線程、或者喚醒所有在些等待的線程!
例:一個挺不錯的例子---吃饅頭和做饅頭。
一個線程做饅頭,做好了放在籃子里(容量為10)。
一個線程吃饅頭,從籃子里拿饅頭吃(如果籃里有饅頭)。
還有一點就是為了看到明顯的等待效果,用一個隨機數來決定做和吃的速度。這樣就不會行成做一個,吃一個,籃子永遠裝不滿的不理想效果!(最好就是做稍快於吃)
這時,當籃子滿了,你就應該調用wait()方法來讓做的線程等待,讓吃的線程將籃子騰出空間放饅頭。同時,吃的線程也應該通知做的線程可以做饅頭了(就應該調用notify()來喚醒做的線程)。
這個例子應該就是你想要的「停止」後再重新啟動吧!
如果你說的是完全停止(死了),那就不行了!

『伍』 JAVA 線程重新啟動問題

這個run函數的主體是一個while循環,既然沒有break語句,那線程就不會結束。捕獲異常以後會繼續下一次循環。
更不需要start,因為已經start了。。。

『陸』 java線程發生異常時怎麼重新啟動這個線程

1.主線程寫個循環3次的循環
2.循環體內運行線程,運行完以後調用wait()等待
3.線程在運行,如果出異常notifyAll()喚醒主線程繼續循環

『柒』 關於JAVA線程的暫停,開啟與結束

java線程沒有暫停功能的,你的A類如果想實現暫停和重啟,必須在一個無限循環里,然後通過鎖來實現。

『捌』 Java線程中斷機制是怎麼回事

在 java中啟動線程非常容易,大多數情況下我是讓一個線程執行完自己的任務然後自己停掉,但是有時候我們需要取消某個操作,比如你在網路下載時,有時候需 要取消下載。實現線程的安全中斷並不是一件容易的事情,因為Java並不支持安全快速中斷線程的機制。

『玖』 java學習之中斷線程以及如何處理中斷

通過條件變數控制線程的執行,線程內部檢查變數狀態,外部改變變數值可控制停止執行。為保證線程間的即時通信,需要使用使用volatile關鍵字或鎖,確保讀線程與寫線程間變數狀態一致。下面給一個最佳模板:
/**
* @author bruce_sha (bruce-sha.github.io)
* @version
*/
public class BestPractice extends Thread {
private volatile boolean finished = false; // ① volatile條件變數
public void stopMe() {
finished = true; // ② 發出停止信號
}
@Override
public void run() {
while (!finished) { // ③ 檢測條件變數
// do dirty work // ④業務代碼
}
}
}

『拾』 JAVA中如何讓一個線程意外終止後重新啟動

新建一個線程,一直循環,每隔5分鍾調用那6個Tread的isAlive()方法進行判斷,如果返回為false則調用它們的start()方法。

閱讀全文

與java線程中斷重啟相關的資料

熱點內容
flashcs5實用案例教程 瀏覽:850
百度貼吧密碼模板 瀏覽:974
食堂管理體系文件包括內容 瀏覽:290
飢荒目錄在哪個文件夾 瀏覽:52
烏魯木齊在哪裡學習編程 瀏覽:431
c語言創建文件夾 瀏覽:874
韓國講述養父與雙胞胎 瀏覽:808
西班牙言情電影 瀏覽:85
a標簽如何直接下載一個文件 瀏覽:777
多女主多鼎爐的小說 瀏覽:531
洪金寶元華元彪越南電影 瀏覽:340
win10ghost好么 瀏覽:207
java怎麼添加滾動條 瀏覽:946
qt生成excel文件 瀏覽:374
如何徹底清除用戶數據 瀏覽:590
假期去看了一場電影英文翻譯 瀏覽:171
香水在哪個網站買 瀏覽:481
學習編程需要掌握哪些英語 瀏覽:510
win10投射到安卓平板 瀏覽:973
qq密碼手機怎麼解除 瀏覽:548

友情鏈接