How it works...

In this recipe, you implemented the MyPriorityTransferQueue data structure. It's a data structure to be used in the producer/consumer problem, but its elements are ordered by priority, not by their order of arrival. As Java doesn't allow multiple inheritances, the first decision you took was in relation to the base class of the MyPriorityTransferQueue class. You extend the class to use the operations implemented in the PriorityBlockingQueue, not to implement them. You also implemented the TransferQueue interface to add the methods related to the producer/consumer. We made this choice because we think it is easier to implement the methods of the TransferQueue interface than the methods implemented in the PriorityBlockingQueue ...

Get Java 9 Concurrency Cookbook - Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.