Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is LinkedBlockingQueue a correct choice for a producer-consumer like scenario?

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?

like image 244
sanjayav Avatar asked Dec 15 '25 11:12

sanjayav


1 Answers

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.

like image 113
Adamski Avatar answered Dec 17 '25 00:12

Adamski