关于跨多个核心执行程序的一些问题

Joe*_*Gfd -2 c# multithreading multicore

我试图使用线程多次执行单个程序(在核心之间分配负载).我有两个核心,所以我需要制作两个线程.当一个线程完成时,该线程需要再次重用才能执行.我怎么会这样做我迷失了

Eri*_*ert 5

不要尝试自己编写线程管理代码.使用任务并行库 ; 这正是它的用途.

根据您提出问题的方式,我怀疑您对线程的工作原理没有很好的理解.您可能还会将线程与进程混淆.你能更详细地描述你的程序正在做的工作吗?有可能使用多个进程是正确的方法,但似乎更有可能要让一个进程具有多个线程.

  • @Joey:TPL专为这项工作而设计.但是,您应该知道,除非您的程序"令人尴尬地可并行化",否则并行化可能没有帮助,实际上可能会使它变慢.有些工作本质上很容易并行化; 如果您正在尝试分析一千个图像并尝试将每个图像识别为金门大桥或艾菲尔铁塔的图片,那么在每个核心上执行500张图像是一个好主意.如果你正在分析*one*image,那么在一个核心上做左半边而在另一个核心上做右边是一个*可怕的想法. (2认同)