网上搜了一下有人说能,因为项目上试了。有人说不能,因为时间片。也有人说
有的时候不要只关注Java语言本身。 如果你拓展一下你的知识就会知道操作系统多线程出现的目的是为解决什么?像这个问题的根源不是在java语言上,而是在操作系统上。如果你了解了操作系统的多线程机制就知道编程语言的多线程能不能提高应用程序的效率。因为Cpu的运算速度太快,而I/O的读取相对太慢。导致Cpu在多数的时候都是空闲的。如果是单线程的CPU就是大部分在闲置等待状态。如果是多线程的话,就会出现多个线程抢着用Cpu,这样就提高了程序的效率。看起来就像并发一样。 你可以把一个cpu当成多个cpu来看。
      到底谁说了算。

解决方案 »

  1.   

    单核也肯定会快啊
    不然Sun是白痴啊
    你的实验用到了多个线程之间相互协作了吗?
    有时候实验的任务太小了可能体现不出来
      

  2.   

    答:看你的业务逻辑是什么.
    若:只有一个处理器(而且是单核心的),则:
    1)若你的业务全是CPU内部运算(没有任何I/O及网络,数据库访问,等等...),则人为地硬折开CPU内部运算为多个线程地"分时,或抢先式轮换"运算,则只能更慢.
    2)若你的业务不全是CPU内部运算,还有网络\数据库访问\I/O(如GUImouse操作)等等,则使用多线程有明显的好处(楼主自己已说了)
    3)通常现在的CPU内部都是超级流水线工作(这本身就是并行运行的,是CPU内部各个部件之间的并行运行,不是并发,是真正的并行运行)
      

  3.   

    答:单核心,没有超线程机制的CPU.