C#에서의 QT SingleShot 대체

JEONGKI'S Note·2024년 2월 23일
0

QT에서 종종사용했던 SingleShot C#에서는 어떤방식으로 유사하게 구현할 수 있을까 정리

DispatcherTimer abc = new DispatcherTimer();
abc.Interval = TimeSpan.FromSeconds(1);
abc.Tick += (s, e) =>
{
    Debug.WriteLine("TTTTTT");
    abc.Stop();
};
abc.Start();
// 24.2.23 SingleShot 대체 테스트 1
await Task.Factory.StartNew(async () =>
{
	await Task.Delay(2000);
    // 매서드
});
// 24.2.23 SingleShot 대체 테스트 2 
//Task.Factory.StartNew 보다 아래방식을 사용하는게 좋다고함
var parentTask = Task.Run(() =>
{
    var childTask = new Task(() =>
    {
      Thread.Sleep(2000);
      // 매서드
      }, TaskCreationOptions.AttachedToParent);
      childTask.Start();
});
parentTask.Wait();

[참고글 - C# Task.Run 사용하기](https://ivorycirrus.github.io/TIL/csharp-task-run/)
profile
주니어 개발자 공부노트입니다 :)

0개의 댓글