多核CPU创建几个线程比较合理? 在VS2005中我用多线程计算,请问我创建几个线程比较合理,运行效率最高?我的是4核CPU,线程数与处理器的个数之间存在着什么样的关系?谁能给小弟一个详细的介绍! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但是在单核CPU中使用多线程(即超线程)时,运行下效率也会提高,这是不是说明多核时用的线程数大于核数也会提高效率啊? 多线程,主要是想提高程序的可伸缩性。例如,有很多任务需要并行进行,那么可能需要多线程。多线程实际上是一个假象,就是说,因为CPU的时间总是有限的,那么CPU需要频繁地切换,在某个时间执行某个线程的任务。这种情况,如果用的不好,反而增加了CPU的负担,降低了系统性能。直接创建Thread对象,并且调用它的Start方法使用ThreadPool.QueueUserWorkItem方法使用BackgroundWorkerParallel.For - for 循环的并行运算 Parallel.ForEach - foreach 循环的并行运算 Parallel.Invoke - 并行调用多个任务 Task - 任务,基于线程池。PLINQ - 用于对内存中的数据做并行运算 有人说 并行运算,可以使两核cpu,每个核执行不同作业。但是这应该是操作系统自己调度的吧。C#可以这么给力? 求助,不知道应该怎么解决 winform模糊登录 五子棋的电脑AI怎么做啊? C#如何实现单击“X”按钮时关闭当前窗体,同时也关闭它的父窗体!!! 未将对象引用设置到对象的实例。 C#编写简单计算器的问题 c#创建xml节点的属性出错了,而且是很奇怪的错,请大家帮忙看看!! 在页面上动态显示时间是怎么做的(.net)在线等 C#上怎么实现拍照? 文件下载,求帮忙!!!! 关于SelectedItems.SubItems 的一个问题 主窗体中能打开多个子窗体的实例,怎样解决???
多线程实际上是一个假象,就是说,因为CPU的时间总是有限的,那么CPU需要频繁地切换,在某个时间执行某个线程的任务。这种情况,如果用的不好,反而增加了CPU的负担,降低了系统性能。
直接创建Thread对象,并且调用它的Start方法
使用ThreadPool.QueueUserWorkItem方法
使用BackgroundWorker
Parallel.For - for 循环的并行运算
Parallel.ForEach - foreach 循环的并行运算
Parallel.Invoke - 并行调用多个任务
Task - 任务,基于线程池。
PLINQ - 用于对内存中的数据做并行运算
但是这应该是操作系统自己调度的吧。C#可以这么给力?