TransferQueue
package src.main.java.com.qqjx.thread;
/*
* @Auther wangpeng
* @Date 2021/2/2
*/
import java.util.concurrent.LinkedTransferQueue;
//Transfer 传递 TransferQueue 传递队列
public class T09_TransferQueue {
public static void main(String[] args) throws InterruptedException {
LinkedTransferQueue<String> strs = new LinkedTransferQueue<>();
new Thread(() -> {
try {
System.out.println(strs.take());
} catch (InterruptedException e) {
e.printStackTrace();
}
}).start();
//transfer函数 线程向队列中装入数据 装完之后线程阻塞 等其他线程取出该值
strs.transfer("aaa");
//strs.put("aaa");
/*new Thread(() -> {
try {
System.out.println(strs.take());
} catch (InterruptedException e) {
e.printStackTrace();
}
}).start();*/
}
}
aaa
本文介绍了一个基于Java的TransferQueue实现——LinkedTransferQueue的使用方法。通过一个简单的例子展示了如何使用transfer方法来实现在多线程环境下高效的数据传递,其中一个线程放入数据后会等待另一个线程取走数据。
429

被折叠的 条评论
为什么被折叠?



