Exchanges类在两个线程可以交换对象时使用。
在大多数示例中,我可以看到两个线程以交换器对象作为参数启动,从而调用了Exchange。
Exchanger exchanger = new Exchanger();
ExchangerRunnable exchangerRunnable1 =
new ExchangerRunnable(exchanger, "A");
ExchangerRunnable exchangerRunnable2 =
new ExchangerRunnable(exchanger, "B");
new Thread(exchangerRunnable1).start();
new Thread(exchangerRunnable2).start();
在多线程处理期间出现此要求时,实时情况是什么?在多线程项目中,是否应始终在所有情况下使用Exchanger类以使项目可扩展?
注意:在Google上发现了一个示例,生产者和使用者可以交换缓冲区。不知道它有多少实用性。还有其他实际情况,以便可以相应地构造项目。从Java文档中选取另一个示例,但未提供详细信息