私は答えから、次のコードをしました:私は、同時に複数のインスタンスを呼び出す必要があります私の場合はProcess.start: how to get the output?非同期C#のシェルへの呼び出しが新しいスレッドを開いていますか?
static void runCommand() {
//* Create your Process
Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/c DIR";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
//* Set your output and error (asynchronous) handlers
process.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);
process.ErrorDataReceived += new DataReceivedEventHandler(OutputHandler);
//* Start process and handlers
process.Start();
process.BeginOutputReadLine();
process.BeginErrorReadLine();
process.WaitForExit();
}
static void OutputHandler(object sendingProcess, DataReceivedEventArgs outLine) {
//* Do your stuff with the output (write to console/log/StringBuilder)
Console.WriteLine(outLine.Data);
}
が、私はスレッドを作る際に考えていたが、私は必要がないことを理解しこのコードのスレッド。誰かが私にその違いを説明でき、必要な場合にスレッドが非同期呼び出しを行うようにすることができますか?
ありがとうございます。種類については、
「このコードではスレッドが必要ないことを理解しています」ということを理解しているので、なぜこの質問をしていますか? – Servy
私はその違いを理解していないので。ご協力いただきありがとうございます。 –
あなたがその違いを理解していないなら、あなたはその違いを理解していると言った理由は何ですか? – Servy