Вызов функции процессом в 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();

        }
    }
}

На разных сайтах нашел, что можно вызвать через процесс отдельную программу.ехе, а как можно вызвать функцию процессом?


Ответы (0 шт):