Thread 构造函数

定义

重载

Thread()

分配新 Thread 对象。

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

分配一个新 Thread 对象,使其具有 target 其运行对象、 name 指定为其名称、属于所 group引用的线程组、指定 stackSize对象,并继承 InheritableThreadLocal 可继承线程本地变量的初始值(如果 inheritThreadLocalstrue)。

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 对象的托管表示形式时使用的构造函数;由运行时调用。

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对象,并继承 InheritableThreadLocal 可继承线程本地变量的初始值(如果 inheritThreadLocalstrue)。

[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

新线程的所需堆栈大小,或 0 表示要忽略此参数

inheritThreadLocals
Boolean

如果 true,则从构造线程继承可继承线程局部变量的初始值,否则不会继承任何初始值

属性

注解

分配一个新 Thread 对象,使其具有 target 其运行对象、 name 指定为其名称、属于所 group引用的线程组、指定 stackSize对象,并继承 InheritableThreadLocal 可继承线程本地变量的初始值(如果 inheritThreadLocalstrue)。

此构造函数与 #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")setContextClassLoadergetContextClassLoader

新创建的线程的优先级设置为等于创建线程的优先级,即当前正在运行的线程。 方法 #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 对象的托管表示形式时使用的构造函数;由运行时调用。

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

参数

javaReference
IntPtr

nativeint

IntPtr一个包含 Java 本机接口 (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) 线程(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 属性许可证中所述的术语使用。

另请参阅

适用于