我试图通过让一个线程写入链接列表而另一个线程处理链接列表来加快速度。
出于某种原因,如果写入链表的方法我将它变成一个任务,而从链表读取的方法是一个低优先级线程,则程序整体完成的速度要快得多。换句话说,我在执行以下操作时会体验到最快的结果:
Task.Factory.StartNew( AddItems );
new Thread( startProcessingItems ) { Priority = ThreadPriority.Lowest }.Start();
while(completed==false)
Thread.Sleep(0);
也许是因为第一个任务比另一个线程做了更多的工作,这就是为什么如果我将第二个方法设置为低优先级,所有事情作为一个整体都会更快地完成。
无论如何,现在我的问题是startProcessingItems
ThreadPriority = Lowest的运行。我怎样才能将它的优先级更改为最高?如果我在该方法中创建一个新任务,它会以低优先级运行吗?基本上 startProcessingItems 以一个列表结束,一旦它有了这个列表,我就会以最高优先级开始执行。