반응형
기다리는 Thread.Sleep를 얻는 방법?
대기 / 수면 패러다임을 기반으로 네트워크 바인딩 응용 프로그램을 작성 중입니다.
때로는 연결 오류가 발생하며 경험상 잠시 기다렸다가 작업을 다시 시도하면 비용이 발생합니다.
문제는 Thread.Sleep 또는 다른 유사한 차단 작업을 await / async에서 사용하면 호출자 스레드의 모든 활동을 차단한다는 것입니다.
Thread.Sleep (10000)을 다음과 같은 효과를 얻기 위해 대체해야 할 것
await Thread.SleepAsync(10000)
?
최신 정보
추가 스레드를 만들지 않고이 작업을 수행하는 답변을 선호합니다
새로운 스레드 시작을 제안하는 다른 답변은 나쁜 생각입니다. 아무 것도 할 필요가 없습니다. async
/ 지점의 일부는 응용 프로그램에 필요한 스레드 수 await
를 줄이는 것입니다.
대신 사용해야 Task.Delay
하는 없습니다 새 스레드를 필요로하며,이 목적을 위해 정밀하게 설계되었습니다 :
// Execution of the async method will continue one second later, but without
// blocking.
await Task.Delay(1000);
참고 URL : https://stackoverflow.com/questions/13429707/how-to-get-awaitable-thread-sleep
반응형
'IT박스' 카테고리의 다른 글
Java에서 명령 행 실행 (0) | 2020.07.19 |
---|---|
PhoneGap : 데스크톱 브라우저에서 실행 중인지 감지 (0) | 2020.07.19 |
제출 버튼없이 Enter 키를 사용하여 양식을 제출 하시겠습니까? (0) | 2020.07.19 |
C ++ 코드의 이중 부정 (0) | 2020.07.19 |
IE8에서 addEventListener가 작동하지 않음 (0) | 2020.07.19 |