질문 : Task.Delay를 사용하는 경우, Thread.Sleep을 사용하는 경우 Task.Delay 대 Thread.Sleep 을 언제 사용할 지에 대한 좋은 규칙이 있습니까? 구체적으로, 하나가 다른 하나보다 효과적이고 효율적으로 제공 할 수있는 최소값이 있습니까? 마지막으로 Task.Delay는 비동기 / 대기 상태 시스템에서 컨텍스트 전환을 유발하므로 사용하는 오버 헤드가 있습니까? 답변 현재 스레드를 차단 Thread.Sleep 사용하십시오. 현재 스레드를 차단하지 않고 논리적 지연을 원할 때 Task.Delay 사용합니다. 효율성은 이러한 방법에서 가장 중요한 문제가되어서는 안됩니다. 실제 사용되는 주요 용도는 I / O 작업에 대한 재시도 타이머로 밀리 초가 아닌 초 단위입니다. 출처 :..