共用方式為


Thread 建構函式

定義

多載

Thread()

配置新的 Thread 物件。

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

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

Thread(ThreadGroup, IRunnable, String, Int64)

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

Thread(ThreadGroup, Action, String)
Thread(ThreadGroup, IRunnable, String)

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

Thread(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

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

配置新的 Thread 物件。

Thread(IRunnable, String)

配置新的 Thread 物件。

Thread(String)

配置新的 Thread 物件。

Thread(Action)
Thread(ThreadGroup, String)

配置新的 Thread 物件。

Thread(IRunnable)

配置新的 Thread 物件。

Thread()

配置新的 Thread 物件。

[Android.Runtime.Register(".ctor", "()V", "")]
public Thread ();
屬性

備註

配置新的 Thread 物件。 此建構函式的效果與 #Thread(ThreadGroup、Runnable、String) Thread(null, null, gname) 相同,其中 gname 是新產生的名稱。 自動產生的名稱格式"Thread-"+為 n,其中 n 是整數。

java.lang.Thread.Thread()Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

另請參閱

適用於

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

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

[Android.Runtime.Register(".ctor", "(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JZ)V", "", ApiSince=33)]
public Thread (Java.Lang.ThreadGroup? group, Java.Lang.IRunnable? target, string name, long stackSize, bool inheritThreadLocals);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JZ)V", "", ApiSince=33)>]
new Java.Lang.Thread : Java.Lang.ThreadGroup * Java.Lang.IRunnable * string * int64 * bool -> Java.Lang.Thread

參數

group
ThreadGroup

線程群組。 如果有 null 安全性管理員,群組是由 SecurityManager#getThreadGroup SecurityManager.getThreadGroup() 決定。 如果沒有安全性管理員或 SecurityManager.getThreadGroup()null回 ,群組會設定為目前線程的線程群組。

target
IRunnable

物件,其 run 方法會在啟動這個線程時叫用。 如果 null為 ,則會叫用這個線程的執行方法。

name
String

新線程的名稱

stackSize
Int64

新線程所需的堆疊大小,或零表示要忽略此參數

inheritThreadLocals
Boolean

如果 true為,則從建構線程繼承可繼承線程局部變數的初始值,否則不會繼承任何初始值

屬性

備註

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

這個建構函式與已新增的隱藏功能相同 #Thread(ThreadGroup,Runnable,String,long) ,無法從建構線程繼承可繼承線程局部變數的初始值。 這允許更精細地控制可繼承的線程局部變數。 傳遞的值falseinheritThreadLocals時,必須小心,因為如果新線程執行預期要繼承特定線程區域值的程序代碼,可能會導致非預期的行為。

為參數指定的值trueinheritThreadLocals會導致這個建構函式的行為與建Thread(ThreadGroup, Runnable, String, long)構函式完全相同。

已在 9 中新增。

java.lang.Thread.Thread(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String, long, boolean)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Thread(ThreadGroup, IRunnable, String, Int64)

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

[Android.Runtime.Register(".ctor", "(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V", "")]
public Thread (Java.Lang.ThreadGroup? group, Java.Lang.IRunnable? target, string name, long stackSize);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V", "")>]
new Java.Lang.Thread : Java.Lang.ThreadGroup * Java.Lang.IRunnable * string * int64 -> Java.Lang.Thread

參數

group
ThreadGroup

線程群組。 如果有 null 安全性管理員,群組是由 SecurityManager#getThreadGroup SecurityManager.getThreadGroup() 決定。 如果沒有安全性管理員或 SecurityManager.getThreadGroup()null回 ,群組會設定為目前線程的線程群組。

target
IRunnable

物件,其 run 方法會在啟動這個線程時叫用。 如果 null為 ,則會叫用這個線程的執行方法。

name
String

新線程的名稱

stackSize
Int64

新線程所需的堆疊大小,或零表示要忽略此參數。

屬性

例外狀況

如果已經完成,則 group.destroy()

備註

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

這個建構函式與允許指定線程堆疊大小的例外狀況相同 #Thread(ThreadGroup,Runnable,String) 。 堆疊大小是虛擬機要配置給此線程堆疊的大約位址空間位元元組數目。 <b>參數的效果 stackSize ,如果有的話,與平臺高度相依。</b>

在某些平臺上,為參數指定較高的值 stackSize ,可能會讓線程在擲回 StackOverflowError之前達到更高的遞歸深度。 同樣地,指定較低的值可能會允許同時存在較多的線程,而不會擲回 OutOfMemoryError (或其他內部錯誤)。 參數值 stackSize 與最大遞歸深度和並行層級之間的關聯性詳細數據,與平臺相依。 <b>在某些平臺上,參數的值 stackSize 可能沒有任何作用。</b>

虛擬機可以免費將 參數視為 stackSize 建議。 如果平臺的指定值不合理,虛擬機可能會改用一些平臺特定的最小值;如果指定的值不合理高,虛擬機可能會改用一些平臺特定的最大值。 同樣地,虛擬機可以自由將指定的值向上或向下四捨五入,因為它看到適合(或完全忽略它)。

為參數指定零 stackSize 的值會導致這個建構函式的行為與建構函式完全相同 Thread(ThreadGroup, Runnable, String)

由於此建構函式行為的平臺相依本質,因此應在其使用中行使極端謹慎。 執行指定計算所需的線程堆疊大小可能會因一個 JRE 實作而有所不同。 根據這項變化,可能需要仔細微調堆疊大小參數,而且可能需要針對要執行應用程式的每個 JRE 實作重複微調。

實作注意事項:鼓勵Java平臺實作者記錄其實作與 參數相關的 stackSize 行為。

已在1.4中新增。

java.lang.Thread.Thread(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String, long)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

另請參閱

適用於

Thread(ThreadGroup, Action, String)

public Thread (Java.Lang.ThreadGroup group, Action runHandler, string threadName);
new Java.Lang.Thread : Java.Lang.ThreadGroup * Action * string -> Java.Lang.Thread

參數

group
ThreadGroup
runHandler
Action
threadName
String

備註

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Thread(ThreadGroup, IRunnable, String)

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

[Android.Runtime.Register(".ctor", "(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;)V", "")]
public Thread (Java.Lang.ThreadGroup? group, Java.Lang.IRunnable? target, string name);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;)V", "")>]
new Java.Lang.Thread : Java.Lang.ThreadGroup * Java.Lang.IRunnable * string -> Java.Lang.Thread

參數

group
ThreadGroup

線程群組。 如果有 null 安全性管理員,群組是由 SecurityManager#getThreadGroup SecurityManager.getThreadGroup() 決定。 如果沒有安全性管理員或 SecurityManager.getThreadGroup()null回 ,群組會設定為目前線程的線程群組。

target
IRunnable

物件,其 run 方法會在啟動這個線程時叫用。 如果 null為 ,則會叫用這個線程的執行方法。

name
String

新線程的名稱

屬性

例外狀況

如果已經完成,則 group.destroy()

備註

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

如果有安全性管理員,則會使用 ThreadGroup 作為其自變數來叫用其 SecurityManager#checkAccess(ThreadGroup) checkAccess 方法。

此外,當子類別的建構函式直接或間接叫用時,其 checkPermission 方法 RuntimePermission("enableContextClassLoaderOverride") 會以許可權叫用,而子類別會覆寫 getContextClassLoadersetContextClassLoader 方法。

新建立線程的優先順序會設定為等於建立線程的優先順序,也就是目前執行的線程。 方法 #setPriority setPriority 可用來將優先順序變更為新的值。

新建立的線程一開始會在建立線程時標示為精靈線程,而且只有在建立線程的線程目前標示為精靈線程時。 setDaemon 方法 #setDaemon 可用來變更線程是否為精靈。

java.lang.Thread.Thread(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

另請參閱

適用於

Thread(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

protected Thread (IntPtr javaReference, Android.Runtime.JniHandleOwnership transfer);
new Java.Lang.Thread : nativeint * Android.Runtime.JniHandleOwnership -> Java.Lang.Thread

參數

javaReference
IntPtr

nativeint

IntPtr,包含 Java Native Interface (JNI) 對象參考。

transfer
JniHandleOwnership

JniHandleOwnership,指出如何處理javaReference

備註

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Thread(Action, String)

public Thread (Action runHandler, string threadName);
new Java.Lang.Thread : Action * string -> Java.Lang.Thread

參數

runHandler
Action
threadName
String

備註

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Thread(ThreadGroup, Action, String, Int64)

public Thread (Java.Lang.ThreadGroup group, Action runHandler, string threadName, long stackSize);
new Java.Lang.Thread : Java.Lang.ThreadGroup * Action * string * int64 -> Java.Lang.Thread

參數

group
ThreadGroup
runHandler
Action
threadName
String
stackSize
Int64

備註

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Thread(ThreadGroup, Action)

public Thread (Java.Lang.ThreadGroup group, Action runHandler);
new Java.Lang.Thread : Java.Lang.ThreadGroup * Action -> Java.Lang.Thread

參數

group
ThreadGroup
runHandler
Action

備註

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Thread(ThreadGroup, IRunnable)

配置新的 Thread 物件。

[Android.Runtime.Register(".ctor", "(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)V", "")]
public Thread (Java.Lang.ThreadGroup? group, Java.Lang.IRunnable? target);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)V", "")>]
new Java.Lang.Thread : Java.Lang.ThreadGroup * Java.Lang.IRunnable -> Java.Lang.Thread

參數

group
ThreadGroup

線程群組。 如果有 null 安全性管理員,群組是由 SecurityManager#getThreadGroup SecurityManager.getThreadGroup() 決定。 如果沒有安全性管理員或 SecurityManager.getThreadGroup()null回 ,群組會設定為目前線程的線程群組。

target
IRunnable

物件,其 run 方法會在啟動這個線程時叫用。 如果 null為 ,則會叫用這個線程的執行方法。

屬性

例外狀況

如果已經完成,則 group.destroy()

備註

配置新的 Thread 物件。 此建構函式的效果與 #Thread(ThreadGroup、Runnable、String) Thread(group, target, gname) 相同,其中 gname 是新產生的名稱。 自動產生的名稱格式"Thread-"+為 n,其中 n 是整數。

java.lang.Thread.Thread(java.lang.ThreadGroup, java.lang.Runnable)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

另請參閱

適用於

Thread(IRunnable, String)

配置新的 Thread 物件。

[Android.Runtime.Register(".ctor", "(Ljava/lang/Runnable;Ljava/lang/String;)V", "")]
public Thread (Java.Lang.IRunnable? target, string name);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/Runnable;Ljava/lang/String;)V", "")>]
new Java.Lang.Thread : Java.Lang.IRunnable * string -> Java.Lang.Thread

參數

target
IRunnable

物件,其 run 方法會在啟動這個線程時叫用。 如果 null為 ,則會叫用這個線程的執行方法。

name
String

新線程的名稱

屬性

備註

配置新的 Thread 物件。 此建構函式的效果與 #Thread(ThreadGroup、Runnable、String) Thread(null, target, name) 相同。

java.lang.Thread.Thread(java.lang.Runnable, java.lang.String)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

另請參閱

適用於

Thread(String)

配置新的 Thread 物件。

[Android.Runtime.Register(".ctor", "(Ljava/lang/String;)V", "")]
public Thread (string name);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/String;)V", "")>]
new Java.Lang.Thread : string -> Java.Lang.Thread

參數

name
String

新線程的名稱

屬性

備註

配置新的 Thread 物件。 此建構函式的效果與 #Thread(ThreadGroup、Runnable、String) Thread(null, null, name) 相同。

java.lang.Thread.Thread(java.lang.String)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

另請參閱

適用於

Thread(Action)

public Thread (Action runHandler);
new Java.Lang.Thread : Action -> Java.Lang.Thread

參數

runHandler
Action

備註

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Thread(ThreadGroup, String)

配置新的 Thread 物件。

[Android.Runtime.Register(".ctor", "(Ljava/lang/ThreadGroup;Ljava/lang/String;)V", "")]
public Thread (Java.Lang.ThreadGroup? group, string name);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/ThreadGroup;Ljava/lang/String;)V", "")>]
new Java.Lang.Thread : Java.Lang.ThreadGroup * string -> Java.Lang.Thread

參數

group
ThreadGroup

線程群組。 如果有 null 安全性管理員,群組是由 SecurityManager#getThreadGroup SecurityManager.getThreadGroup() 決定。 如果沒有安全性管理員或 SecurityManager.getThreadGroup()null回 ,群組會設定為目前線程的線程群組。

name
String

新線程的名稱

屬性

例外狀況

如果已經完成,則 group.destroy()

備註

配置新的 Thread 物件。 此建構函式的效果與 #Thread(ThreadGroup、Runnable、String) Thread(group, null, name) 相同。

java.lang.Thread.Thread(java.lang.ThreadGroup, java.lang.String)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

另請參閱

適用於

Thread(IRunnable)

配置新的 Thread 物件。

[Android.Runtime.Register(".ctor", "(Ljava/lang/Runnable;)V", "")]
public Thread (Java.Lang.IRunnable? target);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/Runnable;)V", "")>]
new Java.Lang.Thread : Java.Lang.IRunnable -> Java.Lang.Thread

參數

target
IRunnable

物件,其 run 方法會在啟動這個線程時叫用。 如果 null為 ,則這個類別 run 方法不會執行任何動作。

屬性

備註

配置新的 Thread 物件。 此建構函式的效果與 #Thread(ThreadGroup、Runnable、String) Thread(null, target, gname) 相同,其中 gname 是新產生的名稱。 自動產生的名稱格式"Thread-"+為 n,其中 n 是整數。

java.lang.Thread.Thread(java.lang.Runnable)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

另請參閱

適用於