Sleep..看情况呀,Sleep就是把单前的线程CPU 控制释放出来给其他的线程用。
越来越慢,可能就是你同事写线程是在空运转while(true)了,这是不可取的。最好引入消息机制WaitHandler

解决方案 »

  1.   

    1. 加
    2、既然用到了队列,在while(true)中应该用到了lock吧,看看lock的代码是否lock正确了
      

  2.   


    假设有1000客户端在线,难道服务器端至少有1001个线程吗?服务于1000个客户端在线,可能只需要10个线程就够了。多线程不是你那样用的。多线程编程最忌讳的就是写什么while循环,以及阻塞。
      

  3.   

    如果两个线程用信号量同步队列的访问,那么不sleep效率也不低,而且效率比sleep还要高,
      

  4.   


    楼主的sleep似乎不是为同步
    而是放了为释放CPU吧
      

  5.   

    确实是,我看了代码好像是在while 厘米
      

  6.   

    我看他们代码那里,很多线程都是是while里面的
      

  7.   

    按理说不用加Sleep的。应该什么地方有问题。
      

  8.   

    一般情况下都要加的,CPU是很快的,不要让他没事找事干
      

  9.   

    应该是这个原因,不想做太大改动的话,Sleep(1)就可以了
      

  10.   

    楼主可以查看资源管理器,有一个System Idle Procee,如果你的程序一直占着cpu资源不释放,这个系统空闲进程就得不到cpu资源,就不能分配给其他进程cpu资源了,而如果你的程序中所有线程都能够在不用的时候适当挂起或释放cpu,就不会出现这种情况了