語言

ForkJoinPool 建構函式

定義

多載

名稱 Description
ForkJoinPool()

利用所有其他參數的預設值,建立 ForkJoinPool 一個平行度等於 java.lang.Runtime#availableProcessors的 (參見 #ForkJoinPool(int, ForkJoinWorkerThreadFactory, UncaughtExceptionHandler, boolean, int, int, int, Predicate, long, TimeUnit))。

ForkJoinPool(Int32)

建立 具有指示平行程度的 , ForkJoinPool 並對所有其他參數使用預設值(參見 #ForkJoinPool(int, ForkJoinWorkerThreadFactory, UncaughtExceptionHandler, boolean, int, int, int, Predicate, long, TimeUnit))。

ForkJoinPool(IntPtr, JniHandleOwnership)

用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。

ForkJoinPool(Int32, ForkJoinPool+IForkJoinWorkerThreadFactory, Thread+IUncaughtExceptionHandler, Boolean)

使用 #defaultForkJoinWorkerThreadFactory 預設執行緒工廠、無 UncaughtExceptionHandler 及非非同步 LIFO 處理模式,建立 ForkJoinPool 平行度等於 java.lang.Runtime#availableProcessors的 。

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 檔。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

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 檔。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

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

參數

javaReference
IntPtr

nativeint

IntPtrA 包含一個 Java 原生介面(JNI)物件參考。

transfer
JniHandleOwnership

JniHandleOwnershipA 指示如何處理javaReference

備註

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

ForkJoinPool(Int32, ForkJoinPool+IForkJoinWorkerThreadFactory, Thread+IUncaughtExceptionHandler, Boolean)

使用 #defaultForkJoinWorkerThreadFactory 預設執行緒工廠、無 UncaughtExceptionHandler 及非非同步 LIFO 處理模式,建立 ForkJoinPool 平行度等於 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()。

factory
ForkJoinPool.IForkJoinWorkerThreadFactory

用來創造新線程的工廠。 預設值請使用 defaultForkJoinWorkerThreadFactory。

handler
Thread.IUncaughtExceptionHandler

處理程序,用於執行任務時因無法恢復的錯誤而終止的內部工作執行緒。 預設值則使用 null。

asyncMode
Boolean

若成立,則建立本地先入先出排程模式,適用於從未加入的分支任務。 在僅處理事件型非同步任務的工作執行緒的應用程式中,此模式可能比預設的本地堆疊模式更為適用。 預設值請使用 false。

屬性

例外狀況

若平行性小於或等於零,或大於實作極限

若工廠為空

備註

Java 參考 java.util.concurrent.ForkJoinPool.ForkJoinPool。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

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()。

factory
ForkJoinPool.IForkJoinWorkerThreadFactory

用來創造新線程的工廠。 預設值請使用 defaultForkJoinWorkerThreadFactory。

handler
Thread.IUncaughtExceptionHandler

處理程序,用於執行任務時因無法恢復的錯誤而終止的內部工作執行緒。 預設值則使用 null。

asyncMode
Boolean

若成立,則建立本地先入先出排程模式,適用於從未加入的分支任務。 在僅處理事件型非同步任務的工作執行緒的應用程式中,此模式可能比預設的本地堆疊模式更為適用。 預設值請使用 false。

corePoolSize
Int32

池中應保留的線程數量(除非在保持活關後被超時)。 通常(且預設情況下)此值與平行度等級相同,但若任務經常阻塞,可能會設定為較大值以減少動態開銷。 使用較小的值(例如 0)效果與預設值相同。

maximumPoolSize
Int32

允許的最大執行緒數。 當達到最大值時,替換阻塞執行緒的嘗試會失敗。 (然而,由於不同執行緒的建立與終止可能重疊,且可能由該執行緒工廠管理,此值可能會暫時超過。)若要安排與預設共用池相同的值,請使用 256 加上平行度等級。 (預設情況下,共用池最多允許 256 個備用執行緒。)使用大於實作總執行緒限制的值(例如 Integer.MAX_VALUE),效果與使用該限制(預設為)相同。

minimumRunnable
Int32

這是未被 join 或 ForkJoinPool.ManagedBlocker 阻擋的最小允許核心執行緒數。 為確保進度,當未阻塞的執行緒過少且可能有未執行任務時,會建立新的執行緒,最高可達給定的最大 PoolSize。 預設值用 1,這樣可以確保活著。 較大的數值在有阻塞活動時可能提升吞吐量,但也可能不會,因為開銷增加。 當提交的任務無法依賴需要額外執行緒時,零值可能被接受。

saturate
IPredicate

若非空,則在嘗試建立超過最大允許執行緒數時,會呼叫謂詞。 預設情況下,當執行緒即將在 join 或 ForkJoinPool.ManagedBlocker 上阻塞,但因 maximumPoolSize 會超過而無法被替換時,會拋出 RejectedExecutionException。 但如果這個謂詞回傳為真,則不會拋出例外,因此池會繼續以低於目標執行緒數量運作,這可能無法保證進度。

keepAliveTime
Int64

即自最後一次使用以來,執行緒終止(如有需要再更換)的經過時間。 預設值請使用 60,TimeUnit.SECONDS。

unit
TimeUnit

keepAliveTime 論證的時間單元

屬性

備註

建立一個包含給定參數的 ForkJoinPool。

Java 參考 java.util.concurrent.ForkJoinPool.ForkJoinPool。

適用於