【发布时间】:2011-10-01 11:04:45
【问题描述】:
我正在尝试使用线程多次执行单个程序(将负载分散到内核中)。我有两个内核,所以我猜我需要创建两个线程。当一个线程完成时,该线程需要再次重用才能执行。我迷路了怎么办?
【问题讨论】:
-
您在哪个部分有问题?创建两个
Threads,让每个人运行一些工作。也许他们可以从Queue获取工作项目。线程要做什么工作? -
他们将执行程序。因此,通过拥有两个线程,它将在两个不同的内核上执行一个 .exe。我在徘徊,我应该使用线程池吗?还是只创建两个线程?如果我创建了两个线程,我怎么知道一个线程何时完成?
-
@Joey G - 在线程上使用
join允许您的代码阻塞,直到加入的线程完成。 See this -
下次尝试至少花一些时间在谷歌上搜索“C#并行”,这样您至少有知识来形成一个真正的问题。任何人都可以做的最好的事情就是告诉你去阅读 TPL(正如 Eric Lippert 在下面所做的那样。)
-
@mquander,客气点...有些人很难弄清楚这些概念。
标签: c# multithreading multicore