2010-04-24 2 views
2

에 도달하면 작업을 진행할 수 있습니까? 내 backgroundworker가 일을하고 ... 첫 번째 부분을 완료하고 완료 ... 이벤트 처리기를 호출합니다. 내 BackgroundWorker에이 을 수행하여 다른 작업을 진행하려면 여기를 말할 수 DoWork - = OldJob DoWork + = NewJob 배경 작업자가 제목에 설명 된대로 "완료 됨"이벤트 처리기

또한 DoWorkCompleted - = OldJobCompleted DoWorkCompleted + = NewJobCompleted

이 가능합니까?

답변

1

이전에 시도하지 않았지만 작동 할 것입니다. ProgressChangedRunWorkerCompleted에 대한 이벤트 처리기도 변경해야합니까?

대신 두 명의 배경 작업자를 만드는 것이 훨씬 간단하다고 생각합니다. 또는 작업이 매우 유사한 경우 두 작업을 모두 수행 할 수 있도록 기존 백그라운드 작업자를 매개 변수화 할 수 있습니다.

2

예, 완료 한 후에 다시 시작할 수 있습니다. 그리고 다른 DoWork를 먼저 연결할 수 있습니다.

하지만 그렇게해서는 안됩니다.

BGW는 ThreadPool에서 실행되기 때문에 스레드를 다시 사용할 필요가 없습니다. 따라서 혼란을 피하고 별개의 작업을 위해 별도의 Backgroundworkers를 만드십시오.

관련 문제