如题

解决方案 »

  1.   

    用线程池,在J2SE得中得Concurrent框架就是为了同步问题产生的,而最容易出现同步问题的多线程也是主要的问题,所以这个框架对多线程有很好的处理,在其中,已经有了现成得现成池,可以看这篇:http://blog.csdn.net/neusoftware_20063500/archive/2008/12/25/3605687.aspx 里面有一个基于Concurrent得线程池代码,LZ可以去看看,希望对你有帮助。
      所谓得线程池,就是限定了产生线程得数目,我们知道,有时候线程开太多大大影响性能,线程得创建和销毁是很费时得操作,所以,线程池就是一开始就创建一定数目的线程,并且都启动(start),但是都处于wait状态,然后利用这些线程去执行任务,当一个任务解决后,不销毁这个线程,而继续放入池中等待新的任务,就这样,线程得数目就固定了,大大提高了性能。
      

  2.   

    线程阻塞往往是为了解决线程安全问题,但是阻塞又会导致性能下降,所以如何处理好线程问题,一直是评价是否是优秀java程序员得一个砝码,J2SE已经有很多机制去解决这些问题了,最典型得就是Concurrent框架了
      

  3.   

    jdk 5之后,有了java.util.concurrent包用来控制线程并发;据说jdk7之后有了多cpu的程序并行化的方法fork