摘要:和線程停止相關(guān)的三個方法中斷線程。另外對于返回的線程不起作用。判斷線程中斷狀態(tài),但不會清除線程中斷狀態(tài)。線程停止的幾種情況使用退出標記,方法執(zhí)行完畢,線程正常退出。在線程內(nèi)部使用結(jié)束線程。
和線程停止相關(guān)的三個方法
/* 中斷線程。如果線程被wait(),join(),sleep()等方法阻塞,調(diào)用interrupt()會清除線程中斷狀態(tài),并收到InterruptedException異常。另外interrupt();對于isAlive()返回false的線程不起作用。 */ public void interrupt(); /* 靜態(tài)方法,判斷線程中斷狀態(tài),并且會清除線程的中斷狀態(tài)。所以連續(xù)多次調(diào)用該方法,第二次之后必定返回false。另外,isAlive()用于判斷線程是否處于存活狀態(tài),如果isAlive()返回false,interrupted()也必定返回false。 */ public static boolean interrupted(); /* 判斷線程中斷狀態(tài),但不會清除線程中斷狀態(tài)。另外,isAlive()用于判斷線程是否處于存活狀態(tài),如果isAlive()返回false,interrupted()也必定返回false。 */ public boolean isInterrupted();
線程停止的幾種情況:
1: 使用退出標記,run方法執(zhí)行完畢,線程正常退出。
2: 使用stop()方法,已過時的方法,不推薦。
3: 使用interrupt()方法中斷線程。
多帶帶調(diào)用這個方法并不能中斷線程,只是打了一個中斷狀態(tài)的標記?;蛘哒f是將線程狀態(tài)更改為中斷狀態(tài)。
中斷線程可以通過以下幾種方法。
在線程內(nèi)部拋出異常。
在線程內(nèi)部使用return結(jié)束線程。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/77655.html
摘要:最近聽很多面試的小伙伴說,網(wǎng)上往往是一篇一篇的多線程的文章,除了書籍沒有什么學(xué)習(xí)多線程的一系列文章。將此線程標記為線程或用戶線程。 最近聽很多面試的小伙伴說,網(wǎng)上往往是一篇一篇的Java多線程的文章,除了書籍沒有什么學(xué)習(xí)多線程的一系列文章。但是僅僅憑借一兩篇文章很難對多線程有系統(tǒng)的學(xué)習(xí),而且面試的時候多線程這方面的知識往往也是考察的重點,所以考慮之下決定寫一系列關(guān)于Java多線程的文章...
摘要:和方法用來設(shè)置線程是否成為守護線程和判斷線程是否是守護線程。守護線程依賴于創(chuàng)建它的線程,隨它的消亡而消亡。使用提供的方法,提醒線程終止,但是否真正終止由線程自己決定。參考實戰(zhàn)高并發(fā)程序設(shè)計多線程干貨系列一多線程基礎(chǔ) 一、如何創(chuàng)建多線程 1、繼承Thread類 public class MyThread extends Thread { @Override public ...
摘要:主線程名我們啟動的一個程序可以理解為一個進程一個進程中包含一個主線程線程可以理解為一個子任務(wù)中可以通過下面代碼來獲取默認的主線程名運行結(jié)果為這是線程的名字并不是方法通過此線程來執(zhí)行方法而已兩種方式創(chuàng)建線程繼承類實現(xiàn)接口實現(xiàn)接口并且多線程運行 Java 主線程名 我們啟動的一個程序可以理解為一個進程, 一個進程中包含一個主線程, 線程可以理解為一個子任務(wù). Java 中可以通過下面代碼來...
摘要:方法將凍結(jié)狀態(tài)的線程強制運行,并拋出異常。注意只有在運行狀態(tài)的線程才能讀到標識位,最終停止線程。當(dāng)正在運行的線程都是守護線程時,虛擬機退出。 stop()等方法過時以后,停止線程的唯一方法就是結(jié)束run()方法:開啟多線程運行通常都是循環(huán)結(jié)構(gòu),只要使用標識位控制住循環(huán),就可以讓run()方法結(jié)束,即線程結(jié)束。 特殊情況:當(dāng)線程處于了凍結(jié)狀態(tài)就不會讀取到標記,那么線程就不會停止。 int...
摘要:線程是在進程中獨立運行的子任務(wù)。線程中斷狀態(tài)由該方法清除。測試線程對象是否已經(jīng)是中斷狀態(tài),但不清除狀態(tài)標志。高優(yōu)先級的線程總數(shù)大部分先執(zhí)行完,但不代表高優(yōu)先級的線程全部先執(zhí)行完。當(dāng)進程中不存在非守護線程了,則守護線程自動銷毀。 進程是受操作系統(tǒng)管理的基本運行單元。 線程是在進程中獨立運行的子任務(wù)。使用多任務(wù)操作系統(tǒng)Windows后,可以最大限度地利用CPU的空閑時間來處理其他的任務(wù)。...
閱讀 3495·2023-04-25 18:14
閱讀 1602·2021-11-24 09:38
閱讀 3317·2021-09-22 14:59
閱讀 3123·2021-08-09 13:43
閱讀 2643·2019-08-30 15:54
閱讀 619·2019-08-30 13:06
閱讀 1625·2019-08-30 12:52
閱讀 2776·2019-08-30 11:13