ForkJoinPool 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
| 名称 | 说明 |
|---|---|
| ForkJoinPool() |
为所有其他参数创建一个 |
| ForkJoinPool(Int32) |
|
| ForkJoinPool(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
| ForkJoinPool(Int32, ForkJoinPool+IForkJoinWorkerThreadFactory, Thread+IUncaughtExceptionHandler, Boolean) |
|
| ForkJoinPool(Int32, ForkJoinPool+IForkJoinWorkerThreadFactory, Thread+IUncaughtExceptionHandler, Boolean, Int32, Int32, Int32, IPredicate, Int64, TimeUnit) |
创建具有给定参数的 ForkJoinPool。 |
ForkJoinPool()
为所有其他参数创建一个 ForkJoinPool 与并行度相等 java.lang.Runtime#availableProcessors的默认值(请参阅 #ForkJoinPool(int,
ForkJoinWorkerThreadFactory, UncaughtExceptionHandler, boolean,
int, int, int, Predicate, long, TimeUnit))。
[Android.Runtime.Register(".ctor", "()V", "")]
public ForkJoinPool();
- 属性
注解
为所有其他参数创建一个 ForkJoinPool 与并行度相等 java.lang.Runtime#availableProcessors的默认值(请参阅 #ForkJoinPool(int, ForkJoinWorkerThreadFactory, UncaughtExceptionHandler, boolean, int, int, int, Predicate, long, TimeUnit))。
适用于 . 的 java.util.concurrent.ForkJoinPool.ForkJoinPool()Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
ForkJoinPool(Int32)
ForkJoinPool使用所有其他参数的默认值创建具有指示的并行度级别(请参阅#ForkJoinPool(int, ForkJoinWorkerThreadFactory,
UncaughtExceptionHandler, boolean, int, int, int, Predicate,
long, TimeUnit))。
[Android.Runtime.Register(".ctor", "(I)V", "")]
public ForkJoinPool(int parallelism);
[<Android.Runtime.Register(".ctor", "(I)V", "")>]
new Java.Util.Concurrent.ForkJoinPool : int -> Java.Util.Concurrent.ForkJoinPool
参数
- parallelism
- Int32
并行度级别
- 属性
例外
如果并行度小于或等于零,或大于实现限制
注解
ForkJoinPool使用所有其他参数的默认值创建具有指示的并行度级别(请参阅#ForkJoinPool(int, ForkJoinWorkerThreadFactory, UncaughtExceptionHandler, boolean, int, int, int, Predicate, long, TimeUnit))。
适用于 . 的 java.util.concurrent.ForkJoinPool.ForkJoinPool(int)Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
ForkJoinPool(IntPtr, JniHandleOwnership)
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。
protected ForkJoinPool(IntPtr javaReference, Android.Runtime.JniHandleOwnership transfer);
new Java.Util.Concurrent.ForkJoinPool : nativeint * Android.Runtime.JniHandleOwnership -> Java.Util.Concurrent.ForkJoinPool
参数
- transfer
- JniHandleOwnership
指示 JniHandleOwnership如何处理 javaReference
注解
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
ForkJoinPool(Int32, ForkJoinPool+IForkJoinWorkerThreadFactory, Thread+IUncaughtExceptionHandler, Boolean)
ForkJoinPool使用 #defaultForkJoinWorkerThreadFactory 默认线程工厂、无 UncaughtExceptionHandler 和非异步 LIFO 处理模式创建与java.lang.Runtime#availableProcessors并行度相等的并行度。
[Android.Runtime.Register(".ctor", "(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;Z)V", "")]
public ForkJoinPool(int parallelism, Java.Util.Concurrent.ForkJoinPool.IForkJoinWorkerThreadFactory? factory, Java.Lang.Thread.IUncaughtExceptionHandler? handler, bool asyncMode);
[<Android.Runtime.Register(".ctor", "(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;Z)V", "")>]
new Java.Util.Concurrent.ForkJoinPool : int * Java.Util.Concurrent.ForkJoinPool.IForkJoinWorkerThreadFactory * Java.Lang.Thread.IUncaughtExceptionHandler * bool -> Java.Util.Concurrent.ForkJoinPool
参数
- parallelism
- Int32
并行度级别。 对于默认值,请使用 Runtime.availableProcessors()。
用于创建新线程的工厂。 对于默认值,请使用 defaultForkJoinWorkerThreadFactory。
- handler
- Thread.IUncaughtExceptionHandler
由于执行任务时遇到的不可恢复错误而终止的内部工作线程的处理程序。 对于默认值,请使用 null。
- asyncMode
- Boolean
如果为 true,则为从未加入的分叉任务建立本地先出先出计划模式。 在工作线程仅处理事件样式异步任务的应用程序中,此模式可能比默认的基于本地堆栈的模式更合适。 对于默认值,请使用 false。
- 属性
例外
如果并行度小于或等于零,或大于实现限制
如果工厂为 null,则为
注解
Java参考java.util.concurrent.ForkJoinPool.ForkJoinPool。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
ForkJoinPool(Int32, ForkJoinPool+IForkJoinWorkerThreadFactory, Thread+IUncaughtExceptionHandler, Boolean, Int32, Int32, Int32, IPredicate, Int64, TimeUnit)
创建具有给定参数的 ForkJoinPool。
[Android.Runtime.Register(".ctor", "(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;ZIIILjava/util/function/Predicate;JLjava/util/concurrent/TimeUnit;)V", "", ApiSince=33)]
public ForkJoinPool(int parallelism, Java.Util.Concurrent.ForkJoinPool.IForkJoinWorkerThreadFactory? factory, Java.Lang.Thread.IUncaughtExceptionHandler? handler, bool asyncMode, int corePoolSize, int maximumPoolSize, int minimumRunnable, Java.Util.Functions.IPredicate? saturate, long keepAliveTime, Java.Util.Concurrent.TimeUnit? unit);
[<Android.Runtime.Register(".ctor", "(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;ZIIILjava/util/function/Predicate;JLjava/util/concurrent/TimeUnit;)V", "", ApiSince=33)>]
new Java.Util.Concurrent.ForkJoinPool : int * Java.Util.Concurrent.ForkJoinPool.IForkJoinWorkerThreadFactory * Java.Lang.Thread.IUncaughtExceptionHandler * bool * int * int * int * Java.Util.Functions.IPredicate * int64 * Java.Util.Concurrent.TimeUnit -> Java.Util.Concurrent.ForkJoinPool
参数
- parallelism
- Int32
并行度级别。 对于默认值,请使用 Runtime.availableProcessors()。
用于创建新线程的工厂。 对于默认值,请使用 defaultForkJoinWorkerThreadFactory。
- handler
- Thread.IUncaughtExceptionHandler
由于执行任务时遇到的不可恢复错误而终止的内部工作线程的处理程序。 对于默认值,请使用 null。
- asyncMode
- Boolean
如果为 true,则为从未加入的分叉任务建立本地先出先出计划模式。 在工作线程仅处理事件样式异步任务的应用程序中,此模式可能比默认的基于本地堆栈的模式更合适。 对于默认值,请使用 false。
- corePoolSize
- Int32
要保留在池中的线程数(除非在运行完的 keep-alive 后超时)。 通常(默认情况下)这与并行度级别相同,但如果任务定期阻止,可能会设置为更大的值以减少动态开销。 使用较小的值(例如 0)的效果与默认值相同。
- maximumPoolSize
- Int32
允许的最大线程数。 达到最大值时,尝试替换被阻止的线程会失败。 (但是,由于不同线程的创建和终止可能会重叠,并且可由给定线程工厂管理,因此此值可能会暂时超出。若要排列默认用于公共池的相同值,请使用 256 加上并行度级别。 (默认情况下,公共池最多允许 256 个备用线程。使用大于实现的总线程限制的值(例如Integer.MAX_VALUE)与使用此限制(即默认值)的效果相同。
- minimumRunnable
- Int32
联接或 ForkJoinPool.ManagedBlocker 未阻止的最小允许核心线程数。 为了确保进度,当存在过多的未阻止线程并且可能存在未执行的任务时,将构造新线程,最多为给定的 maximumPoolSize。 对于默认值,请使用 1,确保实时性。 如果存在被阻止的活动,则更大的值可能会提高吞吐量,但由于开销增加,但可能不会增加。 提交的任务不能具有需要其他线程的依赖项时,可能可接受的值为零。
- saturate
- IPredicate
如果为非 null,则尝试创建超过允许的最大线程总数时调用的谓词。 默认情况下,如果线程即将在联接或 ForkJoinPool.ManagedBlocker 上阻止,但无法替换,因为将超出 maximumPoolSize,则会引发 RejectedExecutionException。 但是,如果此谓词返回 true,则不会引发异常,因此池将继续以少于可运行线程的目标数目运行,这可能无法确保进度。
- keepAliveTime
- Int64
自上次使用后,线程终止之前的已用时间(如果需要,稍后将替换)。 对于默认值,请使用 60,TimeUnit.SECONDS。
- unit
- TimeUnit
keepAliveTime 参数的时间单位
- 属性
注解
创建具有给定参数的 ForkJoinPool。
Java参考java.util.concurrent.ForkJoinPool.ForkJoinPool。