프로그래밍 언어/C++

Task.Delay를 사용하는 경우, Thread.Sleep을 사용하는 경우

Rateye 2021. 12. 3. 08:45
728x90
반응형
질문 : Task.Delay를 사용하는 경우, Thread.Sleep을 사용하는 경우

Task.DelayThread.Sleep 을 언제 사용할 지에 대한 좋은 규칙이 있습니까?

  • 구체적으로, 하나가 다른 하나보다 효과적이고 효율적으로 제공 할 수있는 최소값이 있습니까?
  • 마지막으로 Task.Delay는 비동기 / 대기 상태 시스템에서 컨텍스트 전환을 유발하므로 사용하는 오버 헤드가 있습니까?
답변

현재 스레드를 차단 Thread.Sleep 사용하십시오.

현재 스레드를 차단하지 않고 논리적 지연을 원할 때 Task.Delay 사용합니다.

효율성은 이러한 방법에서 가장 중요한 문제가되어서는 안됩니다. 실제 사용되는 주요 용도는 I / O 작업에 대한 재시도 타이머로 밀리 초가 아닌 초 단위입니다.

출처 : https://stackoverflow.com/questions/20082221/when-to-use-task-delay-when-to-use-thread-sleep
728x90
반응형