タスクを破棄する

タスクを破棄する

タスクはランタイムに破棄できます。破棄したタスクは実行できません。

Stop()
メソッド

NetLogic 親ノードが削除されると、各非同期タスクは自動的に終了します。ただし、次の例に示すように、
Stop()
メソッド内のタスクは
Dispose()
メソッドを呼び出して破棄することをお勧めします。
public override void Stop() { myTask.Dispose(); }
重要: 非同期タスクで
Dispose()
メソッドを呼び出すと、タスクによって実行されたコードが (タスクの状態の制御またはタスクの完了のために) 呼び出し元に制御を返すまでブロックされます。

次の例は、非同期タスクの作成、実行、破棄を示しています。
public override void Start() { myTask = new PeriodicTask(IncrementVariable, 1000, LogicObject) myTask.Start(); } public override void Stop() { myTask.Dispose(); } private void IncrementVariable() { variable1.Value = variable1.Value + 1; } private PeriodicTask myTask;
この例には、次のものが含まれます。
  • NetLogic に含まれる C# クラスでプライベートインスタンス変数 (
    private PeriodicTask myTask;
    ) を定義します。
    ヒント: 作成されるタスクのタイプに応じて、この変数のクラスは
    PeriodicTask
    DelayedTask
    LongRunningTask
    のいずれかである必要があります
  • タスクが実行する必要があるメソッド (
    IncrementVariable()
    ) を定義します。
  • タスクを作成します。
    Start()
    メソッド内の NetLogic に含まれる C# クラスでは、プライベートインスタンス変数 (
    myTask
    ) がクラス コンストラクター (
    PeriodicTask
    ) を使用して初期化されます。
    ヒント: コンストラクターには、属するクラスに基づいてさまざまな引数が必要です。「非同期タスク」を参照してください。
  • NetLogic がランタイムに初期化されるとすぐにタスクを実行します。
    NetLogic に含まれる C# クラスの
    Start()
    メソッド内では、
    Start()
    メソッドはタスク(
    myTask.Start()
    ) で呼び出されます。
  • Stop()
    メソッドを呼び出すことによって、
    Dispose()
    メソッド内のタスクを破棄します。
ご質問やご意見
このドキュメントに関するご質問やご意見は、こちらまでお寄せください。 こちらからご意見をお寄せください。
Normal