Java中线程通信方式七种

Java中线程通信方式七种

https://blog.csdn.net/qq_42411214/article/details/107767326

一:volatile二:synchronized 临界区方式ReentrantLock/Condition 消息队列方式三:使用JUC工具类 CountDownLatch四:基本LockSupport实现线程间的阻塞和唤醒五:通过Socket网络通信六:信号量机制(Semaphore):包括无名线程信号量和命名线程信号量七:管道通信就是使用java.io.PipedInputStream 和 java.io.PipedOutputStream进行通信

1、waite notify通信

public class Test1 {

private static boolean flag = false;

private static Object lock = new Object();

public static void main(String[] args) {

Wait wait = new Wait();

wait.start();

Notify notify = new Notify();

notify.start();

}

static class Wait extends Thread {

@Override

public void run() {

synchronized (lock) {

while (!flag) {

try {

lock.wait();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

System.out.println("hello");

}

}

}

static class Notify extends Thread {

@Override

public void run() {

synchronized (lock) {

System.out.println("notify thread start");

lock.notify();

flag = true;

}

}

}

}

。。。

相关推荐

魅蓝手机重生,但要打的“硬仗”比从前更硬
365骑士版app下载

魅蓝手机重生,但要打的“硬仗”比从前更硬

📅 06-26 👁️ 9065
世界杯最新积分榜:葡萄牙险胜登顶,韩国再爆冷,巴西强势开门红
大白菜双系统XP安装教程(从零开始,轻松学会如何在大白菜上安装双系统XP)
网易第五人格2025 IVL夏季赛明日开启
365bet大陆官网

网易第五人格2025 IVL夏季赛明日开启

📅 01-03 👁️ 1458
AMD驱动彻底卸载指南:彻底清除残留文件与解决黑屏问题
自由交易游戏有哪些好玩 十大必玩自由交易游戏排行榜前十