在多线程的程序中使用这个方法,为什么会随着线程数增加,这个方法效率降低呢。它的内部实现有静态同步代码么?

解决方案 »

  1.   

    我用两个线程分别解析100万个字符串为字节数组,两个线程解析的速度为什么和一个线程的差不多,达不到线性成长呢? 使用发放,开启两个线程同时调用getBytes()方法对字符串进行解析。
      

  2.   

    有什么方法可以达到和getBytes()作用一样的么?
      

  3.   


    在相同的其它参数下,固定的任务量,由单线程执行单个任务的效率是最高的,增加多个线程分担执行同一任务,只会有线程同步和线程调度的额外开销,不会减少执行完这些任务的时间消耗。因为,cpu只有一个,就算是多核cpu真正的计算单元也只有一个。 多线程用于多个平行的任务,以不至于出现长等的情况,不然,光计算,界面可能就假死了。