線程屬性
- 線程優(yōu)先級
- 守護線程
- 線程組
- 處理未捕獲異常的處理器
1. 線程優(yōu)先級
在java中,每個線程都有一個優(yōu)先級。默認情況下,一個線程繼承它的父線程的優(yōu)先級。可以通過setPriority方法設(shè)置優(yōu)先級。
2. 守護進程
可以通過調(diào)用
t.setDaemon(true);
將線程轉(zhuǎn)換為守護進程(daemon thread)。并且該方法必須在線程啟動之前調(diào)用。
守護進程的唯一用途是為其他線程提供服務(wù)。計時線程就是一個例子。
守護進程應該永遠不去訪問固有資源,如文件、數(shù)據(jù)庫等,因為它會在任何時候甚至在一個操作的中間發(fā)生中斷。
3. 未捕獲異常處理器
線程的run方法不能拋出任何受查異常,但是非受查異常會導致線程終止,線程就死亡了。故在線程死亡之前,異常被傳遞到一個用于未捕獲異常的處理器,該處理器必須屬于一個實現(xiàn)Thread.UncaughtExceptionHandler接口的類。這個接口只有一個方法。
void uncaughtException(Thread t, Throwable e)
可以用setUncaughtExceptionHandler方法為任何線程安裝一個處理器,或者用Thread類的靜態(tài)方法setDefaultUncaughtExceptionHandler為所有線程安裝一個默認的處理器。