你的意思是不是将收到的消息处理后再发送出去?如果对消息的操作不怎么耗时,可以省去消息操作线程,直接将消息插入到发送对列中;如果耗时,可以考虑采用消息解析线程,建议用wait/notify机制,而不要用sleep,当消息解析线程发现接受对列不为空时,取出消息解析操作插入到发送对列中,当为空时,让出cpu陷入等待状态,发送线程也是同样的道理。

解决方案 »

  1.   

    恩,这个程序可以用3个线程也可以只用两个,这种彼此对象相关联的线程,正如楼上说的,用sleep是不行的,用wait/notifyAll是解决问题的好方法
      

  2.   

    同意  使用sleep不是个好主意  你可以写一个堆栈   这个堆栈的pop()操作在堆栈为空的情况下wait()  而push()操作在加入了一个元素之后就把这个pop()操作唤醒  应该是比较可行的