问题是在多个过程中创建的,并使用process.start()
启动它们
现在我必须在州之间移动这些过程。
但问题是我无法使用Thread.Suspend()
我认为。
那么如何暂停这些流程然后恢复它们呢?
private void button1_Click(object sender, EventArgs e)
{
var process1 = new Process();
var process2 = new Process();
var process3 = new Process();
process1.StartInfo.FileName = "proc1";
process2.StartInfo.FileName = "proc2";
process3.StartInfo.FileName = "proc3";
process1.Start();
process2.Start();
process3.Start();
}
这3个进程是我创建的C#程序(.exe),用于读写不同的文件。
答案 0 :(得分:3)
您不应该考虑暂停和恢复流程。因为这不是您应该如何管理Windows进程。理论上你可以暂停所有线程,但为什么呢?如果某个线程没有工作要做,则不会安排执行。同样,一个进程,如果它没有工作 - 它只是使用一些内存来表示状态,但它不消耗任何CPU。
重新思考您的架构,转而采用标准流程沟通方法或流程管理。例如,有Windows作业,带有进程间通信的WCF,数据库交互。