位置:首頁 > Java技術 > java.lang > java.lang.Thread類

java.lang.Thread類

java.lang.Thread 類是執行程序中的線程。Java虛擬機允許應用程序具有執行同時運行多個線程。以下是關於主題的要點:

  • 每個線程都有一個優先級。線程具有更高的優先級優先執行線程優先級較低

  • 每個線程都可以或不可以也被標記為一個守護程序。

  • 有兩種方法來創建新的執行線程。一種聲明一個類Thread的子類

  • 另一種方式來創建一個線程是聲明實現Runnable接口的類

類聲明

以下是java.lang.Thread類的聲明:

public class Thread
  extends Object
    implements Runnable

字段域

以下是java.lang.Thread類的字段:

  • static int MAX_PRIORITY -- 這是一個線程可以有最低的優先級。

  • static int NORM_PRIORITY -- 這是分配給一個線程的缺省優先級。

類構造函數

S.N. 構造函數 & 描述
1 Thread() 
這種分配新的Thread對象。
2 Thread(Runnable target) 
這種分配新的Thread對象。
3 Thread(Runnable target, String name) 
這種分配新的Thread對象。
4 Thread(String name) 
這個構造分配新的Thread對象。
5 Thread(ThreadGroup group, Runnable target) 
這種分配新的Thread對象。
6 Thread(ThreadGroup group, Runnable target, String name) 
這種分配新的Thread對象,以便將target作為其運行對象,將指定的name作為其名稱,而屬於由組所指的線程組。
7 Thread(ThreadGroup group, Runnable target, String name, long stackSize) 
這種分配新的Thread對象,以便將target作為其運行對象,將指定的name作為其名稱,所屬組所提到的線程組,並具有指定的堆棧大小。
8 Thread(ThreadGroup group, String name) 
這種分配新的Thread對象。

類方法

S.N. 方法 & 描述
1 static int activeCount() 
此方法返回活動線程的當前線程的線程組中的數量。
2 void checkAccess() 
此方法確定當前運行的線程是否有權修改該線程。
3 protected Object clone() 
此方法返回一個克隆,如果此對象的類是可複製的。
4 static Thread currentThread() 
此方法返回一個引用到當前正在執行的線程對象。
5 static void dumpStack() 
此方法打印當前線程的堆棧跟蹤到標準錯誤流。
6 static int enumerate(Thread[] tarray) 
此方法會複製到指定的數組當前線程的線程組及其子組中的每一個活動線程。
7 static Map<Thread,StackTraceElement[]> getAllStackTraces() 
此方法返回的堆棧跟蹤的所有活動線程的映射。
8 ClassLoader getContextClassLoader() 
此方法返回該線程的上下文類加載器。
9 static Thread.UncaughtExceptionHandler getDefaultUncaughtExceptionHandler() 
此方法返回調用默認的處理程序,當一個線程突然終止由於未捕獲到異常。
10 long getId() 
此方法返回該線程的標識符。
11 String getName() 
此方法返回該線程的名稱。
12 int getPriority() 
此方法返回該線程的優先級。
13 StackTraceElement[] getStackTrace() 
此方法返回一個表示該線程的堆棧轉儲堆棧跟蹤元素的數組。
14 Thread.State getState() 
此方法返回該線程的狀態。
15 ThreadGroup getThreadGroup() 
此方法返回此線程所屬的線程組。
16 Thread.UncaughtExceptionHandler getUncaughtExceptionHandler() 
此方法返回調用的處理時該線程突然終止,由於未捕獲到異常。
17 static boolean holdsLock(Object obj) 
當且僅當當前線程在指定的對象上保持監視器鎖此方法返回true。
18 void interrupt() 
此方法會中斷該線程。
19 static boolean interrupted() 
此方法測試是否當前線程已被中斷。
20 boolean isAlive() 
此方法測試該線程是否活著。
21 boolean isDaemon() 
此方法測試該線程是否為守護線程。
22 boolean isInterrupted() 
此方法測試是否該線程已被中斷。
23 void join() 
等待該線程終止。
24 void join(long millis) 
等待在最長為millis毫秒終止這個線程。
25 void join(long millis, int nanos) 
等待在最長為millis毫秒+nonos毫秒該線程死亡。
26 void run() 
如果該線程是使用獨立的Runnable運行對象構造的,則該Runnable對象的run方法被調用;否則,此方法不執行任何操作並返回
27 void setContextClassLoader(ClassLoader cl) 
此方法設置該線程的上下文類加載器。
28 void setDaemon(boolean on) 
此方法將該線程標記為守護線程或用戶線程。
29 static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh) 
此方法設置的默認處理程序時調用線程突然終止,由於未捕獲到異常,並冇有其他的處理程序被定義為該線程。
30 void setName(String name) 
此方法更改為等於參數名該線程的名稱。
31 void setPriority(int newPriority) 
This method changes the priority of this thread.
32 void setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler eh) 
此方法設置時調用的處理這個線程突然終止由於未捕獲到異常。
33 static void sleep(long millis) 
此方法使當前執行線程休眠(暫停執行)指定的毫秒數,受製於精度和係統計時器和調度程序精度。
34 static void sleep(long millis, int nanos) 
此方法使當前執行的線程休眠(暫停執行)為指定的毫秒數加納秒指定數量,受製於精度和係統計時器和調度程序精度。
35 void start() 
此方法使該線程開始執行; Java虛擬機調用該線程的run方法。
36 String toString() 
此方法返回該線程的字符串表示形式,包括線程名稱,優先級和線程組。
37 static void yield() 
此方法使當前執行的線程對象來暫停並允許其他線程執行。

方法繼承

這個類從以下類繼承的方法:

  • java.lang.Object