저는 작업중인 프로그램에서 장치를 쿼리합니다. 간결하게하기 위해 응답이 200ms가 걸릴 수있는 느린 네트워크 요청이라고합시다. 백그라운드에서 5 가지 이상을 반복적으로 쿼리하고 UI에이 요청에서 얻은 응답을 업데이트하는 프로그램이 필요합니다. 경우에 따라 사용자가 다른 네트워크 요청을 초래하는 명령을 제공 할 수 있습니다. 이 작업을 완료 한 다음 이전에했던 5 가지 작업을 계속 수행해야합니다.백그라운드에서 일련의 메소드를 연속적으로 실행하는 방법
이것은 실제 네트워크 요청이 아니기 때문에 이러한 요청은 중복 될 수 없으므로 한 번에 하나씩 만 발생할 수 있으므로 한 번에 여러 스레드를 스핀 해제 할 수 없습니다.
내 현재의 아이디어가 될 큐의 일종 설정하는 것입니다 같은 의사를 구분 :
DoTaskA();
DoTaskB();
DoTaskC();
DoTaskD();
DoTaskE();
RequeueTasksABCDE();
그리고 DoTaskE() 이후에 어쩌면 일어날 수있는 사용자 명령 요청을 추가 할 수 있지만 RequeueTasksABCDE 전() .
지금까지 연구 한 결과 BlockingCollection을 큐로 사용하려고 생각했지만 이것이 좋은 방법입니까? 어떤 도움이라도 대단히 감사 할 것입니다.
단일 뮤텍스로 "여러 개의 스레드 시작"을 원할 수 있습니다. 잠금 키워드를 확인하십시오. –