Вызов функции процессом в c#
Следующий код запускает 2 потока одновременно (оба потока пишут в файл), но один поток d2 ждет, пока поток d1 закончит работу.
По заданию, мне нужно использовать не потоки, а процессы. Как мне реализовать использование процессов вместо потоков?
using System;
using System.IO;
using System.Threading;
using System.Diagnostics;
namespace test_ConsoleApp
{
class Program
{
static public void d1()
{
Console.WriteLine("d1 start");
StreamWriter f = new StreamWriter(@"C:\Users\mark\Downloads\MYTXT.txt", true);
f.WriteLine("Строка1");
Thread.Sleep(1000);
f.WriteLine("Строка2");
f.Close();
Console.WriteLine("d1 end");
waitMe.Set();
}
static private AutoResetEvent waitMe = new AutoResetEvent( false);
static public void d2()
{
waitMe.WaitOne();
Console.WriteLine("d2 start");
StreamWriter f = new StreamWriter(@"C:\Users\mark\Downloads\MYTXT.txt", true);
f.WriteLine("Строка3");
Thread.Sleep(1000);
f.WriteLine("Строка4");
f.Close();
Console.WriteLine("d2 end"); ;
}
static void Main(string[] args)
{
var thread1 = new Thread(() => d1());
var thread2 = new Thread(() => d2());
thread1.Start();
thread2.Start();
thread1.Join();
thread2.Join();
}
}
}
На разных сайтах нашел, что можно вызвать через процесс отдельную программу.ехе, а как можно вызвать функцию процессом?