Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中具有消费超时的生产者和消费者_Java_Concurrency_Timeout_Producer Consumer_Java 6 - Fatal编程技术网

java中具有消费超时的生产者和消费者

java中具有消费超时的生产者和消费者,java,concurrency,timeout,producer-consumer,java-6,Java,Concurrency,Timeout,Producer Consumer,Java 6,我想编写一个通讯监督员,用于连接到具有这些功能的设备 传出消息应在数据结构中排队 只有一个消费者。使用者应检查队列中是否有元素 消费者应发送传出消息并等待传入响应 当消费者需要时,可以生成新的传出消息 正在等待响应,但在消费者 得到第一个元素的响应,然后是第二个元素,依此类推 如果使用者收到消息超时,则应引发异常,但使用者应继续处理队列中的其他传出消息 我的问题是,实现这一点的最佳方法是什么?我应该使用a作为数据结构吗?或者我们有一个模式的例子吗?顺便说一下,我们正在使用Java6。所以Java

我想编写一个通讯监督员,用于连接到具有这些功能的设备

  • 传出消息应在数据结构中排队
  • 只有一个消费者。使用者应检查队列中是否有元素
  • 消费者应发送传出消息并等待传入响应
  • 当消费者需要时,可以生成新的传出消息 正在等待响应,但在消费者 得到第一个元素的响应,然后是第二个元素,依此类推
  • 如果使用者收到消息超时,则应引发异常,但使用者应继续处理队列中的其他传出消息
  • 我的问题是,实现这一点的最佳方法是什么?我应该使用a作为数据结构吗?或者我们有一个模式的例子吗?顺便说一下,我们正在使用Java6。所以Java8的解决方案是行不通的。
    谢谢你的帮助

    这个问题似乎主要是基于意见,这不是一个如此重要的问题。请参阅第4点不清楚。您的意思是“在该消费者得到响应之前,他们不会被该消费者处理”还是“在前一消费者得到响应之前,他们不会被任何消费者处理”?这在很大程度上决定了数据结构的选择。我应该提到的是,只有一个消费者。消费者一次只处理一个元素。@Neijwiert我不认为这是基于意见的。这是一个具体的问题,我想知道是否有一种模式来实现这种情况。如果你使用java 7,我会考虑使用,但是我不知道java 6中的合理替换是什么。