1

问题是创建了几个进程并使用它们启动它们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)。

4

1 回答 1

3

您不应该考虑暂停和恢复进程。因为这不是您应该管理 Windows 进程的方式。理论上你可以挂起所有线程,但是为什么呢?如果一个线程没有工作要做,它就不会被安排执行。同样,一个进程,如果它没有工作——它只是使用一些内存来表示状态,但它不消耗任何 CPU。

重新考虑您的架构,以支持标准流程通信方法或流程管理。例如,有 Windows 作业、具有进程间通信的 WCF、数据库交互。

于 2013-01-12T11:57:26.660 回答