Synchronisieren von zwei Threads mit AutoResetEvent

Ich versuche umzusetzenAutoResetEvent. Zu diesem Zweck verwende ich eine sehr einfache Klasse:

public class MyThreadTest
{
    static readonly AutoResetEvent thread1Step = new AutoResetEvent(false);
    static readonly AutoResetEvent thread2Step = new AutoResetEvent(false);

    void DisplayThread1()
    {
        while (true)
        {
            Console.WriteLine("Display Thread 1");

            Thread.Sleep(1000);
            thread1Step.Set();
            thread2Step.WaitOne();
        }
    }

    void DisplayThread2()
    {
        while (true)
        {
            Console.WriteLine("Display Thread 2");
            Thread.Sleep(1000);
            thread2Step.Set();
            thread1Step.WaitOne();
        }
    }

    void CreateThreads()
    {
        // construct two threads for our demonstration;
        Thread thread1 = new Thread(new ThreadStart(DisplayThread1));
        Thread thread2 = new Thread(new ThreadStart(DisplayThread2));

        // start them
        thread1.Start();
        thread2.Start();
    }

    public static void Main()
    {
        MyThreadTest StartMultiThreads = new MyThreadTest();
        StartMultiThreads.CreateThreads();
    }
}

Das funktioniert aber nicht. Die Verwendung scheint sehr unkompliziert zu sein, daher würde ich mich freuen, wenn mir jemand zeigen könnte, was falsch ist und wo das Problem mit der Logik liegt, die ich hier implementiere.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage