线程间的通信 小灰灰 2022-08-13 12:39 262阅读 0赞 package thread; /** * 实现男女交叉输出 * @author zhaozhihang * */ public class ResourceDemo { public static void main(String[] args) { Resource r = new Resource(); Input in = new Input(r); Output out = new Output(r); //创建线程执行路径 Thread t1 = new Thread(in); Thread t2 = new Thread(out); t1.start(); t2.start(); } } class Resource{ String name; String sex; boolean flag = false; } class Input implements Runnable{ Resource r; Input(Resource r){ this.r = r; } @Override public void run() { int x = 0; while (true) { synchronized (r) { if(r.flag){ try { //进入阻塞会释放当前锁 r.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } if (x == 0) { r.name = "qiongqiong"; r.sex = "nvnvnvnvnv"; } else { r.name = "悲悲"; r.sex = "男男男男"; } r.flag = true; r.notify(); } x = (x + 1) % 2; } } } class Output implements Runnable{ Resource r; Output(Resource r){ this.r = r; } @Override public void run() { while (true) { synchronized (r) { if(!r.flag){ try { r.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println(r.name + "..:.." + r.sex); r.flag = false; r.notify(); } } } }
相关 单线程间通信 多线程间通信 单线程间通信 <table> <thead> <tr> <th align="left">首先实现一个EventQueue,该Queue有如下三种状 朱雀/ 2024年03月16日 11:51/ 0 赞/ 91 阅读
相关 线程间的通信 1、什么是多线程之间通信 多个线程在处理同一个资源,并且任务不同时,需要线程通信来帮助解决线程之间对同一个变量的使用或操作。 于是我们引出了等待唤醒机制: 梦里梦外;/ 2023年10月05日 15:38/ 0 赞/ 18 阅读
相关 线程间通信 为什么需要线程通讯 线程是操作系统调度的最小单位,有自己的栈空间,可以按照既定的代码逐步的执行,但是如果每个线程间都孤立的运行,那就会造资源浪费。所以在现实中,我们需要这 心已赠人/ 2022年09月08日 00:12/ 0 赞/ 299 阅读
相关 线程间的通信 https://www.cnblogs.com/hapjin/p/5492619.html 通常可用把并行程序理解为一组相互独立的、能够发关和接收消息的组件,这也称为角 朱雀/ 2022年05月17日 03:00/ 0 赞/ 165 阅读
相关 线程间通信 线程和线程之间不是独立的个体,它们彼此之间可以互相通信和协作。 线程通信就是在线程之间传递信息,保证他们能够协同工作。在线程间进行通信后,系统之间的交互性会更强大,在大大提高 Myth丶恋晨/ 2022年05月17日 01:36/ 0 赞/ 304 阅读
相关 线程间通信 一、引言 线程与线程之间不是相互独立的存在,它们彼此之间需要相互通信和协作。最典型的例子就是生产者-消费者问题。下面首先介绍 wait/notify 机制,并对实现该机制 墨蓝/ 2022年04月11日 13:56/ 0 赞/ 336 阅读
相关 线程间通信 注意: 必须在同步方法中使用wait和notify方法,因为执行wait和notify的前提条件是必须持有同步方法(或块)的monitor的所有权,否则将会抛出异常 女爷i/ 2022年02月28日 09:33/ 0 赞/ 414 阅读
相关 线程间的通信 典型例子就是生产者-消费者模式,仓库为空时,消费者无法从仓库调动产品,只能wait,直到仓库有产品时被notify;仓库满了时,生产者则暂时停止生产(wait),直到仓库有空被 喜欢ヅ旅行/ 2022年01月29日 10:34/ 0 赞/ 290 阅读
相关 线程间通信 一、线程间通信 1. 需要三个重要的方法:(java.lang.Object包下) 三种方法使用之前一定要加锁 ①wait() ②n 缺乏、安全感/ 2021年09月28日 14:14/ 0 赞/ 419 阅读
还没有评论,来说两句吧...