Share via


Thread 類別

定義

執行緒是在程式中執行的執行緒。

[Android.Runtime.Register("java/lang/Thread", DoNotGenerateAcw=true)]
public class Thread : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IRunnable
[<Android.Runtime.Register("java/lang/Thread", DoNotGenerateAcw=true)>]
type Thread = class
    inherit Object
    interface IRunnable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
繼承
Thread
衍生
屬性
實作

備註

執行緒是在程式中執行的執行緒。 JAVA 虛擬機器可讓應用程式同時執行多個執行緒。

每個執行緒都有優先順序。 優先順序較高的執行緒會優先執行優先順序較低的執行緒。 每個執行緒不一定也會標示為精靈。 當某些執行緒中執行的程式碼會建立新的 Thread 物件時,新執行緒的優先順序一開始會設定為建立執行緒的優先順序,而且只有在建立執行緒是精靈時,才會是精靈執行緒。

當 JAVA 虛擬機器啟動時,通常會有單一非精靈執行緒 (,這通常會呼叫一些指定類別) 名為 main 的方法。 JAVA 虛擬機器會繼續執行執行緒,直到發生下列任一項為止: < ul >< li >exit 已呼叫 類別 Runtime 的 方法,且安全性管理員已允許執行結束作業。 <li > 不是精靈執行緒的所有線程都可以透過從方法的呼叫 run 傳回,或擲回傳播至方法以外的 run 例外狀況。 </ul>

有兩種方式可以建立新的執行緒執行。 其中一個是將類別宣告為 的 Thread 子類別。 這個子類別應該覆寫 run 類別 Thread 的 方法。 子類別的實例接著可以配置並啟動。 例如,計算大於所述值的質數的執行緒可以撰寫如下: < hr >< blockquote>

class PrimeThread extends Thread {
                    long minPrime;
                    PrimeThread(long minPrime) {
                        this.minPrime = minPrime;
                    }

                    public void run() {
                        // compute primes larger than minPrime
                        &nbsp;.&nbsp;.&nbsp;.
                    }
                }

</blockquote >< hr>

下列程式碼接著會建立執行緒並啟動它執行: < blockquote>

PrimeThread p = new PrimeThread(143);
                p.start();

</blockquote>

另一種建立執行緒的方式是宣告實作 介面的 Runnable 類別。 該類別接著會實作 run 方法。 然後,您可以配置 類別的實例,並在建立 Thread 時傳遞為引數,並啟動。 其他樣式中的相同範例如下所示: < hr >< blockquote>

class PrimeRun implements Runnable {
                    long minPrime;
                    PrimeRun(long minPrime) {
                        this.minPrime = minPrime;
                    }

                    public void run() {
                        // compute primes larger than minPrime
                        &nbsp;.&nbsp;.&nbsp;.
                    }
                }

</blockquote >< hr>

下列程式碼接著會建立執行緒並啟動它執行: < blockquote>

PrimeRun p = new PrimeRun(143);
                new Thread(p).start();

</blockquote>

每個執行緒都有用於識別用途的名稱。 一個以上的執行緒可能具有相同的名稱。 如果在建立執行緒時未指定名稱,則會為其產生新的名稱。

除非另有說明,否則將 null 引數傳遞至這個類別中的建構函式或方法將會導致 NullPointerException 擲回 。

已在 1.0 中新增。

java.lang.Thread JAVA 檔。

此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。

建構函式

Thread()

配置新的 Thread 物件。

Thread(Action)

執行緒是在程式中執行的執行緒。

Thread(Action, String)

執行緒是在程式中執行的執行緒。

Thread(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 標記法時使用的建構函式;由執行時間呼叫。

Thread(IRunnable)

配置新的 Thread 物件。

Thread(IRunnable, String)

配置新的 Thread 物件。

Thread(String)

配置新的 Thread 物件。

Thread(ThreadGroup, Action)

執行緒是在程式中執行的執行緒。

Thread(ThreadGroup, Action, String)

執行緒是在程式中執行的執行緒。

Thread(ThreadGroup, Action, String, Int64)

執行緒是在程式中執行的執行緒。

Thread(ThreadGroup, IRunnable)

配置新的 Thread 物件。

Thread(ThreadGroup, IRunnable, String)

配置新的 Thread 物件,使其具有 target 做為其執行物件、指定 name 為其名稱,並屬於 所 group 參考的執行緒群組。

Thread(ThreadGroup, IRunnable, String, Int64)

配置新的 Thread 物件,使其具有 target 做為其執行物件、具有指定 name 的名稱,並且屬於 所 group 參考的執行緒群組,而且具有指定的 堆疊大小

Thread(ThreadGroup, IRunnable, String, Int64, Boolean)

配置新的 Thread 物件,使其具有 target 做為其執行物件、具有指定 name 作為其名稱、屬於 所 group 參考的執行緒群組、具有指定的 stackSize ,如果 inheritThreadLocalstrue ,則會繼承 InheritableThreadLocal 可繼承執行緒區域變數的初始值。

Thread(ThreadGroup, String)

配置新的 Thread 物件。

欄位

MaxPriority

執行緒可以擁有的最大優先順序。

MinPriority

執行緒可以擁有的最小優先順序。

NormPriority

指派給執行緒的預設優先順序。

屬性

AllStackTraces

傳回所有即時執行緒堆疊追蹤的對應。

Class

傳回這個 Object 的執行時間類別。

(繼承來源 Object)
ContextClassLoader

傳回這個執行緒的內容 ClassLoader 。 -或- 設定此執行緒的內容 ClassLoader。

Daemon

測試此執行緒是否為精靈執行緒。 -或- 將此執行緒標示為 #isDaemon 精靈執行緒或使用者執行緒。

DefaultUncaughtExceptionHandler

傳回因未攔截例外狀況而突然終止執行緒時所叫用的預設處理常式。 -或- 設定執行緒因未攔截例外狀況而突然終止時叫用的預設處理常式,而且該執行緒未定義任何其他處理常式。

Handle

基礎 Android 實例的控制碼。

(繼承來源 Object)
Id

傳回這個執行緒的識別碼。

IsAlive

測試此執行緒是否正在運作。

IsInterrupted

測試此執行緒是否已中斷。

JniIdentityHashCode

執行緒是在程式中執行的執行緒。

(繼承來源 Object)
JniPeerMembers

執行緒是在程式中執行的執行緒。

Name

傳回此執行緒的名稱。 -或- 將這個執行緒的名稱變更為等於引數 name

PeerReference

執行緒是在程式中執行的執行緒。

(繼承來源 Object)
Priority

傳回此執行緒的優先順序。 -或- 變更此執行緒的優先順序。

ThreadGroup

傳回這個執行緒所屬的執行緒群組。

ThresholdClass

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

ThresholdType

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

UncaughtExceptionHandler

傳回此執行緒因未攔截例外狀況而突然終止時所叫用的處理常式。 -或- 設定此執行緒因未攔截例外狀況而突然終止時叫用的處理常式。

方法

ActiveCount()

傳回目前線程 JAVA 中作用中線程數目的估計值。

CheckAccess()

判斷目前執行中的執行緒是否具有修改此執行緒的許可權。

Clone()

建立並傳回這個 物件的複本。

(繼承來源 Object)
CountStackFrames()
已淘汰.

計算此執行緒中的堆疊框架數目。

CurrentThread()

傳回目前執行中線程物件的參考。

Destroy()
已淘汰.

擲回 UnsupportedOperationException

Dispose()

執行緒是在程式中執行的執行緒。

(繼承來源 Object)
Dispose(Boolean)

執行緒是在程式中執行的執行緒。

(繼承來源 Object)
DumpStack()

將目前線程的堆疊追蹤列印至標準錯誤資料流程。

Enumerate(Thread[])

複製到指定的陣列中,目前線程群組及其子群組中的每個使用中線程。

Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
GetStackTrace()

傳回堆疊追蹤專案的陣列,表示這個執行緒的堆疊傾印。

GetState()

傳回這個執行緒的狀態。

HoldsLock(Object)

true只有在目前的執行緒在指定的物件上保有監視鎖定時,才會傳回 。

Interrupt()

中斷此執行緒。

Interrupted()

測試目前的執行緒是否已中斷。

JavaFinalize()

當垃圾收集判斷物件不再參考物件時,垃圾收集行程會在物件上呼叫。

(繼承來源 Object)
Join()

等候此執行緒停止。

Join(Int64)

等候最多 millis 毫秒,讓這個執行緒停止回應。

Join(Int64, Int32)

等候最多 millis 毫秒加上 nanos 奈秒,讓此執行緒終止。

Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
OnSpinWait()

表示呼叫端暫時無法進行,直到在其他活動發生一或多個動作為止。

Resume()
已淘汰.

擲回 UnsupportedOperationException

Run()

如果使用個別 Runnable 的執行物件建構此執行緒,則會呼叫該 Runnable 物件的 run 方法;否則,這個方法不會執行任何動作並傳回。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
Sleep(Int64)

讓目前執行的執行緒進入睡眠狀態 (暫時停止執行) 指定的毫秒數,受限於系統計時器和排程器的有效位數和精確度。

Sleep(Int64, Int32)

讓目前執行的執行緒進入睡眠狀態 (暫時停止執行) 指定的毫秒數加上指定的奈秒數,受限於系統計時器和排程器的有效位數和精確度。

Start()

導致此執行緒開始執行;JAVA 虛擬機器會呼叫 run 這個執行緒的 方法。

Stop()
已淘汰.

擲回 UnsupportedOperationException

Stop(Throwable)
已淘汰.

擲回 UnsupportedOperationException

Suspend()
已淘汰.

擲回 UnsupportedOperationException

ToArray<T>()

執行緒是在程式中執行的執行緒。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

執行緒是在程式中執行的執行緒。

(繼承來源 Object)
Wait()

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > 。 ><

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
Yield()

排程器的提示,表示目前線程願意產生其目前處理器的使用。

明確介面實作

IJavaPeerable.Disposed()

執行緒是在程式中執行的執行緒。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

執行緒是在程式中執行的執行緒。

(繼承來源 Object)
IJavaPeerable.Finalized()

執行緒是在程式中執行的執行緒。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

執行緒是在程式中執行的執行緒。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

執行緒是在程式中執行的執行緒。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

執行緒是在程式中執行的執行緒。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

執行緒是在程式中執行的執行緒。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

執行緒是在程式中執行的執行緒。

GetJniTypeName(IJavaPeerable)

執行緒是在程式中執行的執行緒。

適用於