로드 중 작동하는 작업자 스레드 두 개가 인 WPF 응용 프로그램이 있습니다.특정 백그라운드 작업 스레드가 다른 백그라운드 작업 스레드보다 먼저 실행되도록하려면 어떻게해야합니까?
첫번째 ( BW1)은 어플리케이션 시작에서 산란되고, 일정 시간이 경과 한 후에 두 번째 ( BW2)이 산란된다.
은 내가 "worker_completed"첫 번째의 (BW1)에서 두 번째 배경 노동자 (BW2)을 산란 할 수없는 상황입니다.
현재, 나는 (기본 false
) 클래스 수준 부울 변수를 가지고 있고, BW1 worker_completed 년대에 true
을 설정합니다.
그리고 BW2의 시작에서
, 나는 위의 부울이 거짓이면 볼 수있는 검사가, 그렇다면, BW2은 100 밀리 초 동안 잠을 것입니다.대부분이 작동합니다. 나는 그것을 향상시키고 싶다.
나는 BW1이 BW2 잠 동안 실행되도록 BW1 (예를 들어, 같은 가장 높은로 설정)에서 스레드 우선 순위를 사용할 수 있습니까?
이 목표를 달성 할 수있는 이벤트 중심 방식이 있습니까?
내가 WPF하지만 작업자/스레드의 우선 순위를 모르는이 예약 작업에 사용해서는 안 : BW2의 코드 호출
ev.WaitOne()
의 시작과 BW1의work_completed
전화ev.Set()
으로는 BW2를 해제합니다. –