Lambda expressions with multithreading in C#

后端 未结 3 1473
心在旅途
心在旅途 2020-12-19 15:19

I am trying to understand why this program doesn\'t work

Expected output: numbers 0-19 in random order What I get when I run: some numbers repeat, sometimes 20 is pr

3条回答
  •  感情败类
    2020-12-19 15:41

    You should just use the TPL, its a lot easier and recommended over manual thread management:

    Parallel.For(0, 20, x => {
        Thread.Sleep(1000);
        Console.WriteLine("IN callback: The value I got is " + x);
    });
    

    This will also block until the loop finishes, if you don't want that you can use the TPL Task, but I would definitely recommend avoiding threads.

提交回复
热议问题