线程:Exchanger同步工具
2024-10-13 23:44:18
可以在对中对元素进行配对和交换的线程的同步点,类似于交易,A拿着钱到达指定地点,B拿着物品到达指定地点,相互交换,然后各自忙各自的事去了。
package ch03; import java.util.concurrent.Exchanger; public class ExchangerTest { public static void main(String[] args) {
final Exchanger<String> changer = new Exchanger<>();
new Thread(new Runnable() { @Override
public void run() {
try{
String data1 = "xyy";
System.out.println("交换前,"+Thread.currentThread().getName()+"的数据是:"+data1);
//等待交易
String afterChange = changer.exchange(data1);
System.out.println("交换后,"+Thread.currentThread().getName()+"的数据是:"+afterChange);
}catch (Exception e) {
}
}
}).start(); new Thread(new Runnable() { @Override
public void run() {
try{
String data1 = "zy";
System.out.println("交换前,"+Thread.currentThread().getName()+"的数据是:"+data1);
//等待交易
String afterChange = changer.exchange(data1);
System.out.println("交换后,"+Thread.currentThread().getName()+"的数据是:"+afterChange);
}catch (Exception e) {
}
}
}).start();
} }
最新文章
- 安装.NET FRAMEWORK 4.5安装进度条回滚之后发生严重错误 代码0x80070643
- C++ STL之vector用法总结
- SVN与git交互
- 日期函数(sql)
- Activiti系列: 如何添加自定义表单引擎
- [USACO2005][POJ3044]City Skyline(贪心+单调栈)
- Java事件总线
- ibatis复用SQL片段、引入片段 动态条件增加
- SSCTF Final PWN
- uinavagation 透明代码
- 使用jquery时一些小技巧的总结
- Jdk 接口类RandomAccess了解
- Python入门(青铜篇)
- .Net Core WebAPI 搭建
- 编译原理子cygwin的使用
- 初学Python:面向对象总结
- CentOS搭建内网NTP服务器
- emq共享订阅
- Attention Is All You Need 一些好的资料
- Spring Boot 实现RESTful webservice服务端实例
热门文章
- python - socket练习(输入系统命令)
- 配置错误--分析器错误消息: 无法识别的属性“targetFramework”。请注意属性名称区分大小写。
- easyui combobox赋值
- http断点续传原理
- OC基础 可变数组与不可变数组的使用
- $.fn、$.fn.extend和$.extend的区别
- 移动端Web开发笔记
- 有关service
- android 利用Bitmap获取圆角矩形、圆形图片
- ZOJ 3188 ZOJ 3188 Treeland Exhibition(树形DP)