使用Thread Class创建线程不会显示与C#Exam Ref 70-483中的编程相同的结果

时间:2019-06-01 18:34:49

标签: c# .net multithreading

我正在尝试从C#考试参考书70-483中的“编程”中执行以下代码,而书中说结果必须是:

主线程:启动第二个线程。
主线程:做些工作。
线程进程:0
主线程:做些工作。
线程处理:1
主线程:做些工作。
线程处理:2
主线程:做些工作。
线程处理:3
线程处理:4
线程处理:5
线程处理:6
线程处理:7
线程处理:8
线程处理:9

当我在Visual Studio 2017中执行相同的代码时,它将显示我:https://imgur.com/a/SWaGCf1

public static void ThreadProc() {
    for (int i = 0; i < 10; i++) {
        Console.WriteLine("ThreadProc: {0}", i);
        // Yield the rest of the time slice.
        Thread.Sleep(0);
    }
}

public static void Main() {
    Console.WriteLine("Main thread: Start a second thread.");
    Thread t = new Thread(new ThreadStart(ThreadProc));
    t.Start();

    for (int i = 0; i < 4; i++) {
        Console.WriteLine("Main thread: Do some work.");
        Thread.Sleep(0);
    }


    t.Join();

}

0 个答案:

没有答案