The Java concurrency API provides a synchronization utility that allows the interchange of data between two concurrent tasks. In more detail, the
allows the definition of a synchronization point between two threads. When the two threads arrive to this point, they interchange a data structure so the data structure of the first thread goes to the second one and the data structure of the second thread goes to the first one.
This class may be very useful in a situation similar to the producer-consumer problem. This is a classic concurrent problem where you have a common buffer of data, one or more producers of data, and one or more consumers of data. As the
Exchanger class only synchronizes two ...