2005年10月08日


前些天用java实现了一个线程池应用包:
总体设计是建立多个队列,然后由线程池中的线程处理各个队列中添入的任务,每个线程只针对一个队列。
起初设想如果只有一个任务队列,如果线程过多容易造成太多同步的效率降低,但测试时发现队列越多,效率反而越差。
由于这个包用于Web工程,实际上使用它会造成一定的效率降低(因为本身http请求的处理已经是多线程的了)。
但是现在的情况是当队列多时性能有显著降低。
真是奇怪。

作过的修改:
    将队列的存储由vector改为linkedlist
        将同步整型操作改为使用volatile关键字
        将能优化的notifyAll改为notify


有谁有这方面经验,希望能分享。