-2

我需要在 1 个程序中创建 3 个进程来模拟死锁。如何定义自己的流程?我不想简单地打开现有流程。

例如对于一个线程:

Thread X = new Thread(){ //insert whatever code here// };

我们如何为一个流程做到这一点,例如:

Process P = new Process(){//insert different threads here//}; 
4

4 回答 4

5
using System;
using System.Collections.Generic;
using System.Linq;
using System.Diagnostics;

namespace ConsoleApplication1
{    
    class Program
    {
        static void Main(string[] args)
        {
            Process process = new Process();
            process.StartInfo.FileName = "notepad";
            //process.StartInfo.Arguments = "filename.txt"
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.CreateNoWindow = true;
            process.Start();
        } 
    }
}
于 2013-01-08T18:55:47.597 回答
2

进程来自可执行文件。

你可以写Process.Start(@"C:\Something.exe")

于 2013-01-08T18:55:35.097 回答
0

您可能正在寻找Process.Start(静态或实例方法) - 这将通过启动您选择的可执行文件来创建新进程。

如果您正在寻找Unix 的 fork实现,据我所知,您无法在 .Net 中真正做到这一点。

于 2013-01-08T18:58:30.560 回答
0

一个进程中的代码不能在另一个进程中执行。您需要某种形式的进程间通信或远程过程调用。

于 2013-01-08T21:04:40.043 回答