August 2018
Intermediate to advanced
524 pages
14h 45m
English
The TransferQueue interface is extending BlockingQueue and the only implementation of it in the JDK is LinkedTransferQueue. A TransferQueue comes in handy when a thread wants to hand over some data to another thread and needs to be sure that the other thread takes the element. This TransferQueue has a transfer() method that puts an element on the queue but does not return until some other thread calls remove(), thereby removing it (or calls poll(), thereby polling it). That way, the producing thread can be sure that the object put on the queue is in the hands of another processing thread and does not wait in the queue. The transfer() method also has a format, tryTransfer(), in which you can specify a timeout value. If ...