Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net NET线程池能否利用多个CPU而不仅仅是多个CPU核?_.net_Cpu_Parallel Processing - Fatal编程技术网

.net NET线程池能否利用多个CPU而不仅仅是多个CPU核?

.net NET线程池能否利用多个CPU而不仅仅是多个CPU核?,.net,cpu,parallel-processing,.net,Cpu,Parallel Processing,我正在编写一个程序,它可以从并行运行多个进程中获益匪浅。我已经在我们的I7CPU上测试过了,它有4个内核,我看到在一台2核的机器上有很大的速度提升 该应用程序现在正在部署中,当地IT人员正在考虑组装一台机器,该机器有2个CPU,每个CPU有4个内核。这是一个.NET4应用程序。你认为我基本上可以使用8个处理器还是只使用4个 谢谢。如果使用并行扩展且不限制配置中的处理器数量,则应透明地使用所有可用的处理器/内核 该框架没有区分多核CPU和物理CPU。8。每个核心都是一个逻辑处理器。该框架不太清楚您

我正在编写一个程序,它可以从并行运行多个进程中获益匪浅。我已经在我们的I7CPU上测试过了,它有4个内核,我看到在一台2核的机器上有很大的速度提升

该应用程序现在正在部署中,当地IT人员正在考虑组装一台机器,该机器有2个CPU,每个CPU有4个内核。这是一个.NET4应用程序。你认为我基本上可以使用8个处理器还是只使用4个


谢谢。

如果使用并行扩展且不限制配置中的处理器数量,则应透明地使用所有可用的处理器/内核


该框架没有区分多核CPU和物理CPU。

8。每个核心都是一个逻辑处理器。该框架不太清楚您使用的是单八核处理器还是双四核处理器。

唯一的区别不是CPU的物理位置——它们位于同一片硅上

如果使用的是超线程(四核cpu有超线程,因此会暴露8个“cpu”),可能会有所区别,但即使如此,我还是怀疑,框架可能只会看到8个cpu


因此,具有超读功能的双四核系统可能会暴露16个CPU。

您没有提到您使用的是哪种特定的core i7芯片,但afaik core i7具有双插槽型号,在这种情况下,它实际上是两个双核处理器,总共有4个核。
是的,任何使用.Net framework编写的实现都可以使用所有可用的内核(甚至超线程),因为这些内核是由操作系统自动控制的(除非应用程序指定如何将内核固定到cpu上,并根据处理器的物理id使用cpu掩码)。

谢谢,这就是我想知道的。谢谢。这在哪里得到证实?Ie.我可以在文档中的某个地方找到它吗?@Tomas Pajonk-From:
默认情况下,系统上创建的线程数量与处理器(或处理器内核)的数量相同,但此数字可以手动修改。
操作系统隐藏此实现细节。是,唯一的区别是它们不是同一块硅。尽管它们可能是同一块硅!