Google에서 몇 가지 예를 검색했지만 필요한 항목을 찾을 수 없었습니다.C# Parallel/Multithread 잠시 동안
StreamReader ImportFile = new StreamReader(@"c:\users\matthew\desktop\test.txt");
string line;
while ((line = ImportFile.ReadLine()) != null)
{
doneTotal++;
string[] info = line.Split('-');
string username = info.Length >= 1 ? info[0] : null;
string file = info.Length >= 2 ? info[1] : null;
myfunc(username, file);
}
그래서,이 myfunc는 빠른 아니지만 충분히 빨리 나를 위해 :
나는이 while 루프를 가지고있다. 루프 동안 병렬 또는 멀티 스레드를 어떻게 할 수 있습니까?
감사합니다.
I/O가 얼마나 느린지 잘 알고 있습니다. 더 나은 성능을 위해 I/O를 다중 스레드 할 수 없습니다. 전체 파일을 하나의 문자열로 읽고 각 행을 개별적으로 처리하십시오. – Gus
당신은 모든 줄을 읽지 못하고 병렬 foreach에서 반복 할 수 없었습니까? –
@Gus & Steven 내가 사용하는 파일이 너무 커서 열 수 없으므로 큰 파일을 열 수있는 다른 방법이 없다면이 파일을 사용해야한다고 생각하십니까? – wtm