ForkJoinPool 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| ForkJoinPool() |
利用所有其他參數的預設值,建立 |
| ForkJoinPool(Int32) |
建立 具有指示平行程度的 , |
| ForkJoinPool(IntPtr, JniHandleOwnership) |
用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。 |
| ForkJoinPool(Int32, ForkJoinPool+IForkJoinWorkerThreadFactory, Thread+IUncaughtExceptionHandler, Boolean) |
使用 #defaultForkJoinWorkerThreadFactory 預設執行緒工廠、無 UncaughtExceptionHandler 及非非同步 LIFO 處理模式,建立 |
| 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
參數
- 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()。
用來創造新線程的工廠。 預設值請使用 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()。
用來創造新線程的工廠。 預設值請使用 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。