我正在执行一个使用C#win应用程序在命令提示符下调用BCP的线程。 如果线程执行完成,即BCP输出完成,我想要执行一些操作。 BCP out在本地机器上运行。 我应该如何检查线程执行是否完成? 我的代码看起来像如何检查线程执行是否完成
using(this.proc = new Process())
{
var procStartInfo =
new ProcessStartInfo(cmdFileName)
{
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardError = true,
WindowStyle = ProcessWindowStyle.Hidden,
CreateNoWindow = true
};
this.proc.StartInfo = procStartInfo;
if(this.proc.Start())
{
var thread1 = new Thread(this.GetError) { IsBackground = true };
var thread2 = new Thread(this.GetOutput) { IsBackground = true };
thread1.Start();
thread2.Start();
// check if thread execution is completed then do some logic
}
}
你想等待线程或进程? –
过程。当BCp out完成时,只有我必须走向下一步。但是为了支持我已经实现了2个线程的流程。 – vaibhav