0

アプリケーションを実行するためにスレッドプールを実装します。すべてのコンテンツはデスクトップのフォルダに保存されます。

各ファイルは.txt形式です。特定のフォルダーから各.txtを読み取り、.txtファイルをスレッドプール/スレッドキューに入れるにはどうすればよいですか?

4

1 に答える 1

1

これらは探し始めるのに良い場所です:ThreadPool.QueueUserWorkItemDirectory.GetFiles

申し訳ありませんが、私のvb.netは錆びていますが、これがC#です。

foreach (string file in Directory.GetFiles(folder, "*.txt"))
    ThreadPool.QueueUserWorkItem(ProcessFile, file);


void ProcessFile(Object fileNameObject)
{
    string fileName = (string)fileNameObject;
    string contents = File.ReadAllText(fileName);
    // ... process contents here.
}

あなたの質問は、読みたいと言ってからスレッドプールに押し込みましたが、メモリが不足しないように逆に行います。スレッドプールにファイルパスをエンキューしてから、ワーカースレッドスレッドにファイルを読み取らせます。

于 2012-05-29T17:35:40.337 に答える