28 |
|
* <pre> {@code |
29 |
|
* class FillAndEmpty { |
30 |
|
* Exchanger<DataBuffer> exchanger = new Exchanger<>(); |
31 |
< |
* DataBuffer initialEmptyBuffer = ... a made-up type |
32 |
< |
* DataBuffer initialFullBuffer = ... |
31 |
> |
* DataBuffer initialEmptyBuffer = ...; // a made-up type |
32 |
> |
* DataBuffer initialFullBuffer = ...; |
33 |
|
* |
34 |
|
* class FillingLoop implements Runnable { |
35 |
|
* public void run() { |
40 |
|
* if (currentBuffer.isFull()) |
41 |
|
* currentBuffer = exchanger.exchange(currentBuffer); |
42 |
|
* } |
43 |
< |
* } catch (InterruptedException ex) { ... handle ... } |
43 |
> |
* } catch (InterruptedException ex) { ... handle ...} |
44 |
|
* } |
45 |
|
* } |
46 |
|
* |