안녕하세요, MoonLight입니다. 오늘은 C#에서 Thread 작업 중에 UI가 먹통이 되지 않으면서 Delay를 줄 수 있는 방법을 2가지 소개해 드릴까 합니다.
Delay를 주는 함수로써 Thread.Sleep()이 대표적인데, 이 녀석은 Delay 동안 Blocking된다는 치명적인 단점이 있습니다. Blocking되버리면, UI가 먹통이 되버리기 때문에 사용자의 짜증을 유발할 수가 있습니다.
이런 상황은 절대로 일어나선 안되겠죠. 이를 방지할 수 있는 방법으로 제가 주로 사용하는 방법은 2가지가 있는데요, 하나씩 알아보겠습니다. 1.
Event 처리하면서 Delay하기 아래 Code와 같은 Delay함수를 만듭니다. 정해진 시간만큼 Delay하고, System.Windows.Forms.Application.DoEvents()를 Call하면서 UI Event도 처리하는 살짝 무식한(?)
방법입니다. private static DateTime Delay(int MS) { Da...
#
async
#
Thread
#
Taskdelay
#
Sleep
#
NonBlocking
#
DoEvents
#
Delay
#
CSharp
#
Blocking
#
await
#
UI
원문 링크 : C# UI 작업하면서 Delay 주기