C# 理解队列、并行性和线程的问题

C# 理解队列、并行性和线程的问题,c#,wpf,queue,parallel-processing,C#,Wpf,Queue,Parallel Processing,我对使用队列和线程有一些疑问。我已经做了研究,但是我没有理解它的一般功能 我想做的是:我有一个名为“mTask”的类,其中有属性和一个名为“StartMTTask”的方法。创建新mTask时,我会将其添加到列表中 当列表中有mTask时,我想处理mTask。(我必须在计算机的每个空闲处理器上启动一个任务) 我不明白我该怎么做。。。我觉得这很简单,但我真的迷路了。 有人能尽可能简单地解释吗 非常感谢,我一直在搜索,如果我不够清楚,或者您需要更多信息,请不要犹豫 Yowan我认为最好、最简单的解决方

我对使用队列和线程有一些疑问。我已经做了研究,但是我没有理解它的一般功能

我想做的是:我有一个名为“mTask”的类,其中有属性和一个名为“StartMTTask”的方法。创建新mTask时,我会将其添加到列表中

当列表中有mTask时,我想处理mTask。(我必须在计算机的每个空闲处理器上启动一个任务)

我不明白我该怎么做。。。我觉得这很简单,但我真的迷路了。 有人能尽可能简单地解释吗

非常感谢,我一直在搜索,如果我不够清楚,或者您需要更多信息,请不要犹豫


Yowan

我认为最好、最简单的解决方案可能是将mTask放入线程池,而不是您必须遵守的列表

看看这个方法

ThreadPool.QueueUserWorkItem

例如:

ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork), )mTask);

private void DoWork(object o)
{
    task = o;
}
如果您使用它,没有任何设置,线程将分配给每个cpu。你不必关心这个