Tag: loop

multithreading重入问题

我正在尝试为某些处理生成不同的线程。 我for每个线程中的一些逻辑使用for循环索引。 如何在下面的代码中获取不同的线程来打印1,2,3,4,5? 每次我运行这个,我得到不同的数字作为输出 – 3,3,3,4,6,6和2,2,3,5,5,6等。 我尝试使用锁定对象,但它没有正确执行。 任何人都可以帮我解决这个问题。 我只是想确保每个线程/任务获得正确的索引。 请注意,每个任务都被强制在单独的线程上运行。 List tasks1 = new List(); for (int j = 1; j { Console.WriteLine(j); } , new CancellationToken() , TaskCreationOptions.LongRunning , TaskScheduler.Default) ); } Task.WaitAll(tasks1.ToArray()); Console.Read();