이것이 가능한지 확실하지는 않지만 여기에 아이디어가 있습니다. 한 경로에 여러 파일을 처리해야하며이를 동시에 수행하려고합니다. 내 응용 프로그램은 시간 초과 또는 다른 방법으로 오류가 발생할 수있는 FTP와 같은 외부 프로세스를 사용합니다 (이상적이지는 않지만 한 번에 한 가지만 고치려고합니다).C에서 평생 스레드를 사용하여 병렬 스레드를 시작하십시오.
모든 파일 (또는 일괄 처리)을 병렬로 처리하지만 각 스레드에게 소요 시간 (예 : 5 분)을 제한하려고합니다. 그래서 각 스레드를 시작하고 5 분 이내에 완료되지 않으면 그냥 죽여야합니다. 이 모든 스레드가 내가 5 분 전체주고 싶지 않아 같은 시간에 킥오프되지 않지만 각 스레드 5 분
를 받아야 가능성 (거의 확실)이기 때문에는
는 여기에 몇 가지 사이비입니다 코드 :
DirectoryInfo di = new DirectoryInfo(somePath);
List<FileInfo> files = di.GetFiles("*.txt"); // grab all text files in path
Parallel.ForEach(files, currFile => ProcessFile(currFile));
이 시간의 일정 금액에 ProcessFile
각 호출을 제한하는 방법이 친절하게 각 파일에 대한 스레드를 분사하고 적절하게 경로의 각 .txt
파일에 ProccessFile
을 실행하지만 것인가?