I have a producer-consumer like scenario. Class A produces objects of type E. I have to hold it in a static data structure in class A, because the consumer logic should be handled in a class B, which has no reference to object of A. Is LinkedBlockingQueue the correct data type for the queue? Or are there any better selection for this?
views:
108answers:
2
A:
If the producer and consumer runs in two different threads, then yes, a LinkedBlockingQueue<E>
would be a good choice.
aioobe
2010-06-15 11:12:07
+1
A:
If you are using a bounded queue, you could also consider an ArrayBlockingQueue
.
Also, from the LinkedBlockingQueue
Javadoc:
Linked queues typically have higher throughput than array-based queues but less predictable performance in most concurrent applications.
Adamski
2010-06-15 12:09:05
Thank you for the answer.
sunnyj
2010-06-16 08:52:26