请高手指点下!

解决方案 »

  1.   

    如果 CPU 多核并且运算复杂能并行,多线程才会提高效率,如果大部分时间都是文件读取和写入,那效率就取决于磁盘I/O能力,多线程就没什么效果了。
      

  2.   

    谁告诉你线程会提高速度的,单cpu只会降低速度,只有在你cpu数量多于线程时,才会并行工作
      

  3.   

    理论上来说多线程是否能提高程序执行效率。这取决于以下几个条件,程序是否有耗时操作,程序是否可并行工作,并行工作时发生资源等待和资源争夺的情况几率有多大。如果不能满足以上几个条件,那么使用多线程往往会增加调度成本,反而会降低程序的运行效率。至于楼上说的cpu的数量问题。应该是对多线程理解不够透彻,可以无视。
      

  4.   


    4楼说的比较容易理解了并行工作时发生资源等待和资源争夺的情况几率有多大例如的文件转换需要操作IO,但即使你线程多了,你IO读写速度还是那么多,这取决于硬件不由你线程决定.
    这样就会出现一线程等待另一线程释放IO的控制权,从而不能明显提高速度