Java 等待网络队列包含特定元素(Lamport';s算法)?

Java 等待网络队列包含特定元素(Lamport';s算法)?,java,multithreading,algorithm,Java,Multithreading,Algorithm,我想等待网络队列包含特定元素后再继续 具体来说,我正在尝试实现兰波特的时钟算法 我想等待的元素是对已发送网络消息的确认。响应可以随时放入队列,即它可能不是队列中的第一个元素。因此,我不能依赖于take() 唯一的解决方案是在while(true)中反复检查队列,直到元素进入队列,还是有更好、更有效的方法?什么是“网络”队列?只是网络流量的队列。一个普通的Java队列。我不知道我对需求有多了解,但在插入队列时,请检查所需的响应,并在遇到响应时立即生成一个信号/中断让您知道。注意:这可能会缩短队列中

我想等待网络队列包含特定元素后再继续

具体来说,我正在尝试实现兰波特的时钟算法

我想等待的元素是对已发送网络消息的确认。响应可以随时放入队列,即它可能不是队列中的第一个元素。因此,我不能依赖于
take()


唯一的解决方案是在
while(true)
中反复检查队列,直到元素进入队列,还是有更好、更有效的方法?

什么是“网络”队列?只是网络流量的队列。一个普通的Java队列。我不知道我对需求有多了解,但在插入队列时,请检查所需的响应,并在遇到响应时立即生成一个信号/中断让您知道。注意:这可能会缩短队列中的插入时间。您是否在等待确认,因为您想确保在继续之前消息将(或已)传递?也就是说,您试图实现某种有保证的交付机制?实际上什么是“网络”队列?只是网络流量的队列。一个普通的Java队列。我不知道我对需求有多了解,但在插入队列时,请检查所需的响应,并在遇到响应时立即生成一个信号/中断让您知道。注意:这可能会缩短队列中的插入时间。您是否在等待确认,因为您想确保在继续之前消息将(或已)传递?也就是说,你试图实施一些有保证的交付机制?