본문 바로가기
[ Program ]/C#

BackgroundWorker 사용

by 관이119 2012. 9. 18.
출처 추동일의 호기심 | 추동일
원문 http://hihanguk.pe.kr/100065935127
CCL 

using System.ComponentModel;

private BackgroundWorker ReadMessageWorker = new BackgroundWorker();

ReadMessageWorker.DoWork += ReadMessage;

ReadMessageWorker.RunWorkerAsync();

public void ReadMessage(object sender, DoWorkEventArgs e)

기존에는 Thread 를 사용했었는데...

BackgroundWorker 를 사용하면 여러가지 이점이 있더라...

BackgroundWorker 가 동작중인지 확인가능...

BackgroundWorker 현재 몇% 진행중인지를 다른 이벤트 없이 구현가능

BackgroundWorker 가 끝났거나, 취소 또는 중간에 예외로 중단되었을 때, 이벤트~

취소도 간단히 메소드로 되어있다.

위의 CancelAsync를 했을 때, BackgroundWorker 내부에서 CancellationPending을 읽어와서 내부의 반복문을 중단시키면 되겠다.

여러모로 내가 Thread를 사용했을 때, 스스로 만들어야 했던 이벤트와 메소드가 이미 BackgroundWorker 에서는 구현되어있는 것 같다 ^^

 

댓글