单cup下,多线程和单线程的执行的性能一样吗?比如一个只用主线程对文件的读取操作 ,写入A文件---->写入B文件----->写入C文件.....一个用多线程 线程1:---->写入A文件             线程2:---->写入B文件             线程3:---->写入C文件             ……单cup下完成同样东西,执行的时间上一样快吗?

解决方案 »

  1.   

    如果在一个单磁头的碟片上写入也许没有差别
    甚至可能更慢
    但是考虑下面情况,你就可以获得更高的性能a) 线程A,写磁盘文件,尺寸2G
    b) 线程B,写网络文件,尺寸2G
    c) 线程C,刷新界面
      

  2.   

    多线程不是为了提高速度,而是为了每个线程都有机会执行。如果做你说的这样的事情,多线程反而比单线程慢。因为各个线程切换时还要占用CPU时间。
      

  3.   

    单核CPU下不会快的,多线程反而会变慢的,线程的切换也消耗了CPU时间
      

  4.   

    单cup下,就不能同时又喝茶又喝果汁了
      

  5.   

    你举的例子不会。但单cpu下,多线程肯定会提高效率。比如,一个线程等待网络资源,一个线程写入磁盘。