많은 입력 파일을 처리 할 Windows 서비스를 작성 중입니다.많은 동시 작업을 처리하기 위해 비동기 또는 작업을 사용해야합니까?
내 질문은 내가 동시 스레드의 수를 제한 할 수 Task
를 사용하여 사용자 지정 라이브러리를 작성하는 경우는 내가 async
및 await
를 사용하거나할지 여부입니다.
은 내가 200 개 스레드를 대기하는 경우, 그것은 (등, 등, 상황은 CPU의 전환, 자원에 대한 다양한 전투) 한 번에 10 실행시키는 것보다 모든 것을 완료하는 데 시간이 더 걸리는 것은 사실
알고 그래서 제 질문은이 새로운 신기한 기능 async
및 await
더 이상 실행 탄력, 또는 난 그냥 내 자신의 사용자 정의 라이브러리를 작성해야하는지 여부입니까 ??
나는 이미 많은 것을 가지고있는 TPL을 사용하지 않는다는 것을 알지 못한다. 만약 당신이 I/O 기반이라면 10 개의 쓰레드를 원하지 않을 수도 있습니다. 당신은 TPL Dataflow도 봐야합니다. –
최근에 TPL Dataflow를 조사하기 시작했습니다.이 작업에 대한 좋은 후보자로 보입니다. +1 –
thanks @JonSkeet. 나는 당신만큼 훌륭 할뿐만 아니라 아마도 최신의 가장 위대한 프레임 워크에 조금 뒤떨어져 있습니다. TPL 데이터 흐름을 파헤칩니다 :) – Steve