我有3种类型的线程。主线程,工作者,客户端。 我也有2个队列,一个请求和一个响应队列。JAVA - 并发 - 多生产者/多消费者请求和响应队列
主线程产生许多客户端。每个客户端都会请求一些内容并将其添加到主要请求队列中。主要产生适当的工人,工人将处理请求。完成后,它将[结果,调用线程#]添加到响应队列中。每个客户都会在请求后等待回应。我应该怎么做呢?
即时思考我应该使用concurent链接队列的队列。这个可以吗?客户应该偷看直到它找到它的线程ID和轮询?头部在偷看和民意调查之间改变是否可行?我不想加锁,因为会有很多争用和延误。
这必须是线程安全和并发的,没有任何死锁或饥饿。
你可能想搭起一个[mcve]。总是很难回答那些仅仅解释你的代码在做什么的问题,在广泛的,非特定的层面上。除此之外:你在这里问的问题不止一个。请退后一步,让您的问题更具体;如果有几个不同的问题需要问 - 请问几个不同的问题! – GhostCat