当前位置: 代码迷 >> 综合 >> JUC---Exchanger
  详细解决方案

JUC---Exchanger

热度:51   发布时间:2023-12-26 16:05:08.0
  1. Exchanger原理介绍

Exchanger用于线程间的通信和数据交换;它提供了一个exchange方法,两个线程调用exchange方法时,线程1先调用该方法会进入阻塞状态,直到线程2调用该方法,然后安全交换数据,之后两个线程继续运行。

应用场景之一:游戏中玩家之间直接交易物品。

在这里插入图片描述

Exchanger的原理是使用了ThreadLocal来实现的,至于线程阻塞的部分是使用java中的Usafe类park()/unpark()来实现的。