请问:CPU的多核和应用程序的多线程的关系是怎么样的? 如题,CPU的多核可以增强多线程的执行效率? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 会的,多核可以提升这种性能。如果在多核CPU上面运行DOS,则多核可以说是毫无用武之地。当运行支持多线程的操作系统时才能体现出多核的意义。不过对高级语言来说,编程时根本不用考虑CPU是单核还是多核。 试了一个ping 从192.168.0.1 到192.169.0.255的程序用多线程做的,发现在单核的机器上和多核的机器运行性能有两倍左右的差异。 多核对于用户,应该说对于程序员来说,是透明的,根本不用管它,当你是单核的编程就可以了,除非使用OpenMP进行编程,就用很多条条框框了,另外你上面的测试是不准确的,网络(主要是远程主机)会因为不同时候而有不同的响应速度,你应该在干净的本机同环境下进行测试.但是,对于多线程多核优于单核还是可以确定的. 总之,我们不用担心程序在单核或多核上会出现并发问题. 如果式多个CPU那???这个对于程序的设计有否特殊实现要求?? 原来对 多核 是不怎么关心的,认为是 一个炒作, 由于现在的一个项目对性能要求比较高, intel 3.0 GHZ+独立显卡+256M 内存 的台试机 程序 跑不动, 无赖 之下买了个 双核 1.8G+1G内存+独立显卡 的笔记本 是了一下, 靠 确实厉害.CPU利用率才70 %左右.跑的很顺.不过 我的程序是 多线程的.最后又写了段代码测试了一下, 在单线程下,笔记本的 速度就没台是的快了 多核指的是CPU有多个核心,多线程是程序有多个线程在同时执行。多核也要用多线程才能发挥优势。同样,多线程要在多核上才能真正有优势。这点来说,对程序员不是透明的。程序员可以控制程序/线程在哪个CPU(核)上运行。用户也可以控制程序在哪几个核上运行。所以多核,多线程对用户和程序员都不是透明的。程序员必须了解这方面的知识。才能让程序最大限度的发挥机器的性能。 同意 aaronwang81(痞子) 另外补充 多核 可以减少线程间上下文切换的频率 以提高性能 Godlikeme(Insomnia):"另外补充 多核 可以减少线程间上下文切换的频率 以提高性能"不是这样的,多核与Context Switch的频率没有任何关系。Switch的频率是OS的SKU和时钟中断控制的。 服务与普通进程之间用什么方法通信最好? 怎么获取浏览器的下载链接 窗口的父指针是m_pParentWnd吗? 找了个初中毕业的老婆 给控件加背景色 毕业设计 急!急!急! Evc安装后的SDK切换就死机问题 ★★★写完了一个共享软件想放个广告条,不知找哪家广告公司好啊!★★★ 招标了,看看做这个系统多少钱?? 有请 SeainBlue(爱海) VC IDL文件能够使用c++预处理命令吗?(比如#ifdef) 用CStatic作为视频的窗口,有时不能刷新。 如何判断电脑是否安装了 文件与打印机共享协议??
不过对高级语言来说,编程时根本不用考虑CPU是单核还是多核。
用多线程做的,发现在单核的机器上和多核的机器运行性能有两倍左右的差异。
不过 我的程序是 多线程的.
最后又写了段代码测试了一下, 在单线程下,笔记本的 速度就没台是的快了
多核也要用多线程才能发挥优势。
同样,多线程要在多核上才能真正有优势。
这点来说,对程序员不是透明的。程序员可以控制程序/线程在哪个CPU(核)上运行。用户也可以控制程序在哪几个核上运行。所以多核,多线程对用户和程序员都不是透明的。程序员必须了解这方面的知识。才能让程序最大限度的发挥机器的性能。
另外补充 多核 可以减少线程间上下文切换的频率 以提高性能