使用 Parallel.ForEach 不带列表

我想Parallel.ForEach用作一种多线程方法,在没有列表或文件读取的情况下执行代码。


我想这样做:


Parallel.ForEach

{

      Console.WriteLine("test");

}

所以它会test不停地写。我将使用一个IF语句来检查它是否应该停止或不。


可以这样使用Parallel.ForEach吗?


任何帮助,将不胜感激。


谢谢!


翻翻过去那场雪
浏览 157回答 2
2回答

小唯快跑啊

多线程这不会实现任何目标,但如果您坚持:bool _shouldStop { get; set; } = false;bool _shouldStopSecondThread { get; set; } = false;public static Main(string[] args){Thread thread = new Thread(print);Thread anotherThread = new Thread(anotherPrint);thread.Start();anotherThread.Start();//your code here while the worker writes "Test" to consoleif(condition) {   _shouldStop=true;   _shouldStopSecondThread=false; }}    //...public void print(){   while (!_shouldStop)   {       Console.WriteLine("test");   }   Console.WriteLine("worker terminated");}public void anotherPrint(){   while (!_shouldStopSecondThread)   {       Console.WriteLine("test");   }   Console.WriteLine("worker terminated");}

白猪掌柜的

您想要的不是很清楚,但您可以尝试这种方法:        var parallelDrege = Environment.ProcessorCount;        while (true)        {            Parallel.For(0, parallelDrege, t =>            {                Console.WriteLine("test");            });        }将 parallelDegre 设置为所需的值,并注意每个批次都将并行处理,但批次之间是一个连续的过程。希望这有帮助!
打开App,查看更多内容
随时随地看视频慕课网APP