如题,CPU的多核可以增强多线程的执行效率?

解决方案 »

  1.   

    会的,多核可以提升这种性能。如果在多核CPU上面运行DOS,则多核可以说是毫无用武之地。当运行支持多线程的操作系统时才能体现出多核的意义。
    不过对高级语言来说,编程时根本不用考虑CPU是单核还是多核。
      

  2.   

    试了一个ping 从192.168.0.1 到192.169.0.255的程序
    用多线程做的,发现在单核的机器上和多核的机器运行性能有两倍左右的差异。
      

  3.   

    多核对于用户,应该说对于程序员来说,是透明的,根本不用管它,当你是单核的编程就可以了,除非使用OpenMP进行编程,就用很多条条框框了,另外你上面的测试是不准确的,网络(主要是远程主机)会因为不同时候而有不同的响应速度,你应该在干净的本机同环境下进行测试.但是,对于多线程多核优于单核还是可以确定的. 总之,我们不用担心程序在单核或多核上会出现并发问题.
      

  4.   

    如果式多个CPU那???这个对于程序的设计有否特殊实现要求??
      

  5.   

    原来对 多核 是不怎么关心的,认为是 一个炒作, 由于现在的一个项目对性能要求比较高, intel 3.0 GHZ+独立显卡+256M 内存 的台试机 程序 跑不动, 无赖 之下买了个 双核 1.8G+1G内存+独立显卡 的笔记本 是了一下, 靠 确实厉害.CPU利用率才70 %左右.跑的很顺.
    不过 我的程序是 多线程的.
    最后又写了段代码测试了一下, 在单线程下,笔记本的 速度就没台是的快了
      

  6.   

    多核指的是CPU有多个核心,多线程是程序有多个线程在同时执行。
    多核也要用多线程才能发挥优势。
    同样,多线程要在多核上才能真正有优势。
    这点来说,对程序员不是透明的。程序员可以控制程序/线程在哪个CPU(核)上运行。用户也可以控制程序在哪几个核上运行。所以多核,多线程对用户和程序员都不是透明的。程序员必须了解这方面的知识。才能让程序最大限度的发挥机器的性能。
      

  7.   

    同意  aaronwang81(痞子) 
    另外补充  多核 可以减少线程间上下文切换的频率  以提高性能
      

  8.   

    Godlikeme(Insomnia):"另外补充  多核 可以减少线程间上下文切换的频率  以提高性能"不是这样的,多核与Context Switch的频率没有任何关系。Switch的频率是OS的SKU和时钟中断控制的。