728x90
안녕하세요. 공유민입니다.
이번 포스팅에서는 스레드 사용하는 방법에 대해 알아보겠습니다.
저 같은 경우는 프로그램에서 큰 작업을 처리할 때, 화면이 멈추는 현상이 생겨
"프로그램 응답 없음" 이 뜨거나, 혹은 계속 움직여야하는 UI 인데(gif) 큰 작업을 처리할 때,
멈춰서 UI 쪽을 계속 그려주는 스레드를 사용했었습니다.
그럼 간단한 스레드 생성 및 사용 샘플 코드로 설명드리겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | using System.Threading; using System.Threading.Tasks; // ... 생략 ...// public bool LargeTask() { // UI 담당 스레드 생성 및 메소드 할당 Thread ThreadForUI = new Thread(delegate () { RefreshUI(); }); // UI 스레드 시작 ThreadForUI.Start(); // ... 매우 큰 작업 ... // // UI 스레드 종료 ThreadForUI.Abort(); } // (스레드를 할당하여) UI 부분 일을 처리한다. private void RefreshUI() { while (true) { Application.DoEvents(); } } | cs |
위와 같이 간단하게 스레드를 사용하여 UI가 멈추는 경우를 해결했습니다.
간단하지만 도움이 되셨기를 바랍니다.
감사합니다.
'개발 > C#' 카테고리의 다른 글
C#, 스레드 메소드로부터 리턴 값 받아오기 (0) | 2017.02.24 |
---|