- 프로젝트 만들기
- 개체 및 변수 참조
- 프로젝트 확장
작업 삭제
런타임 시 작업을 삭제할 수 있습니다. 삭제한 작업은 실행할 수 없습니다.
Stop() 메서드
Stop()
메서드각 비동기 작업은 NetLogic 상위 노드가 제거될 때 자동으로 종료됩니다. 하지만 다음 예제와 같이
Dispose()
메서드를 호출하여 Stop()
메서드 내에서 작업을 삭제하는 것이 좋습니다.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())를 정의합니다.
- 작업을 만듭니다.NetLogic에 포함된 C# 클래스의Start()메서드 내에서 비공개 인스턴스 변수(myTask)는 클래스 생성자(PeriodicTask)를 사용하여 초기화됩니다.팁: 생성자에는 생성자가 속한 클래스에 따라 다양한 인수가 필요합니다. 비동기 작업 항목을 참조하십시오.
- 런타임에 NetLogic이 초기화되는 즉시 작업을 실행합니다.NetLogic에 포함된 C# 클래스의Start()메서드 내에서Start()메서드는 작업(myTask.Start())에 대해 호출됩니다.
- Dispose()메서드를 호출하여Stop()메서드에서 작업을 삭제합니다.
의견을 작성 부탁드립니다.