-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

あるプロセスのコードを別のプロセスで実行することはできません。何らかの形式のプロセス間通信、またはリモートプロシージャコールが必要です。

于 2013-01-08T21:04:40.043 に答える
0

おそらく、選択した実行可能ファイルを起動して新しいプロセスを作成するProcess.Start (静的メソッドまたはインスタンス メソッド)を探しているでしょう。

Unix から forkの実装を探している場合、私の知る限り、.Net では実際にそれを行うことはできません。

于 2013-01-08T18:58:30.560 に答える