次の方法で共有


choice::choice コンストラクター

choice メッセージング ブロックを構築します。

explicit choice(
   _Type _Tuple
);

choice(
   Scheduler& _PScheduler,
   _Type _Tuple
);

choice(
   ScheduleGroup& _PScheduleGroup,
   _Type _Tuple
);

choice(
   choice && _Choice
);

パラメーター

  • _Tuple
    選択対象のソースの tuple

  • _PScheduler
    その内部で choice メッセージング ブロックの反映タスクがスケジュールされる Scheduler オブジェクト。

  • _PScheduleGroup
    その内部で choice メッセージング ブロックの反映タスクがスケジュールされる ScheduleGroup オブジェクト。 使用される Scheduler オブジェクトは、スケジュール グループによって暗黙的に指定されます。

  • _Choice
    コピー元の choice メッセージング ブロック。 元のオブジェクトが孤立したオブジェクトであるため、これは移動コンストラクターとなります。

解説

_PScheduler パラメーターまたは _PScheduleGroup パラメーターを指定しなかった場合、ランタイムは既定のスケジューラを使用します。

移動構築はロック状態では実行されないため、移動の時点で実行中の軽量タスクがないことをユーザーが確認する必要があります。 これを行わないと、多数の競合が発生し、例外または矛盾した状態が発生する可能性があります。

必要条件

ヘッダー: agents.h

名前空間: concurrency

参照

関連項目

choice クラス

Scheduler クラス

ScheduleGroup クラス