TaskCreationOptions TaskCreationOptions TaskCreationOptions TaskCreationOptions Enum

定義

タスクの作成および実行に関するオプションの動作を制御するフラグを指定します。Specifies flags that control optional behavior for the creation and execution of tasks.

この列挙型には FlagsAttribute 属性があり、メンバー値ではビットごとの組み合わせを使用できます。

public enum class TaskCreationOptions
[System.Flags]
[System.Serializable]
public enum TaskCreationOptions
type TaskCreationOptions = 
Public Enum TaskCreationOptions
継承
TaskCreationOptionsTaskCreationOptionsTaskCreationOptionsTaskCreationOptions
属性

フィールド

AttachedToParent AttachedToParent AttachedToParent AttachedToParent 4

タスクがタスク階層の親にアタッチされることを指定します。Specifies that a task is attached to a parent in the task hierarchy. 既定では、子タスク (外側のタスクによって作成される内側のタスク) は、親と独立して実行されます。By default, a child task (that is, an inner task created by an outer task) executes independently of its parent. AttachedToParent オプションを使用して、親タスクと子タスクを同期させることもできます。You can use the AttachedToParent option so that the parent and child tasks are synchronized.

親タスクが DenyChildAttach オプションを指定して構成されている場合、子タスクの AttachedToParent オプションは無効で、その子タスクはデタッチされた子タスクとして実行されることに注意してください。Note that if a parent task is configured with the DenyChildAttach option, the AttachedToParent option in the child task has no effect, and the child task will execute as a detached child task.

詳細については、「アタッチされた子タスクとデタッチされた子タスク」を参照してください。For more information, see Attached and Detached Child Tasks.

DenyChildAttach DenyChildAttach DenyChildAttach DenyChildAttach 8

アタッチされた子タスクとして実行を試みる (AttachedToParent オプションを使用して作成される) すべての子タスクが、親タスクにアタッチされるのではなく、デタッチされた子タスクとして実行されるように指定します。Specifies that any child task that attempts to execute as an attached child task (that is, it is created with the AttachedToParent option) will not be able to attach to the parent task and will execute instead as a detached child task. 詳細については、「アタッチされた子タスクとデタッチされた子タスク」を参照してください。For more information, see Attached and Detached Child Tasks.

HideScheduler HideScheduler HideScheduler HideScheduler 16

アンビエント スケジューラが作成されたタスクの現在のスケジューラと見なされることを防止します。Prevents the ambient scheduler from being seen as the current scheduler in the created task. これは、作成されたタスクで実行される StartNew や ContinueWith のような操作で、Default が現在のスケジューラと見なされることを意味します。This means that operations like StartNew or ContinueWith that are performed in the created task will see Default as the current scheduler.

LongRunning LongRunning LongRunning LongRunning 2

粒度の細かいシステムではなく、タスクが長時間実行され、少量の大きなコンポーネントを含む粒度の粗い操作とすることを指定します。Specifies that a task will be a long-running, coarse-grained operation involving fewer, larger components than fine-grained systems. これは、TaskScheduler に対し、オーバーサブスクリプションを許可してもよいことを示します。It provides a hint to the TaskScheduler that oversubscription may be warranted. オーバーサブスクリプションを使用すると、使用可能なハードウェア スレッドよりも多くのスレッドを作成できます。Oversubscription lets you create more threads than the available number of hardware threads. これは、タスクの処理に追加のスレッドが必要になる可能性があるというヒントをタスク スケジューラに提供し、他のスレッドまたはローカル スレッド プール キューの作業項目の進行をスケジューラがブロックするのを防ぎます。It also provides a hint to the task scheduler that an additional thread might be required for the task so that it does not block the forward progress of other threads or work items on the local thread-pool queue.

None None None None 0

既定の動作を適用する必要があることを示します。Specifies that the default behavior should be used.

PreferFairness PreferFairness PreferFairness PreferFairness 1

TaskScheduler に対し、できる限り公平にタスクをスケジュールするように指示します。つまり、先にスケジュールされたタスクが先に実行され、後からスケジュールされたタスクは後から実行されるようにします。A hint to a TaskScheduler to schedule a task in as fair a manner as possible, meaning that tasks scheduled sooner will be more likely to be run sooner, and tasks scheduled later will be more likely to be run later.

RunContinuationsAsynchronously RunContinuationsAsynchronously RunContinuationsAsynchronously RunContinuationsAsynchronously 64

現在のタスクに追加される継続処理を強制的に非同期実行します。Forces continuations added to the current task to be executed asynchronously.

TaskCreationOptions 列挙で RunContinuationsAsynchronously メンバーが使用できるのは .NET Framework 4.6.NET Framework 4.6 以降であることに注意してください。Note that the RunContinuationsAsynchronously member is available in the TaskCreationOptions enumeration starting with the .NET Framework 4.6.NET Framework 4.6.

注釈

TaskCreationOptions列挙は、次の方法で使用します。The TaskCreationOptions enumeration is used with the following methods:

  • TaskFactoryTaskFactory<TResult>コンス トラクターを持つ、creationOptionsパラメーターは、タスク ファクトリによって作成されたタスクの既定のオプションを指定します。The TaskFactory and TaskFactory<TResult> constructors with a creationOptions parameter, to specify the default options for tasks created by the task factory.

  • TaskTask<TResult>コンス トラクターを持つ、creationOptionsパラメーターを使用して、タスクの動作をカスタマイズするオプションを指定します。The Task and Task<TResult> constructors with a creationOptions parameter, to specify the options used to customize the task's behavior.

  • StartNewStartNewを持つメソッドをcreationOptionsパラメーターを使用して、タスクの動作をカスタマイズするオプションを指定します。The StartNew and StartNew methods with a creationOptions parameter, to specify the options used to customize the task's behavior.

  • FromAsyncFromAsyncを持つメソッドをcreationOptionsパラメーターを指定したときに、end メソッドを実行するタスクの動作をカスタマイズするために使用するオプションを指定するIAsyncResultが完了するとします。The FromAsync and FromAsync methods with a creationOptions parameter, to specify the options used to customize the behavior of the task that executes an end method when a specified IAsyncResult completes.

  • TaskCompletionSource<TResult>コンス トラクターを持つ、creationOptionsパラメーターは、基になるタスクの動作をカスタマイズするために使用するオプションを指定します。The TaskCompletionSource<TResult> constructors with a creationOptions parameter, to specify the options used to customize the behavior of the underlying task.

適用対象

こちらもご覧ください