线程交替打印奇偶数(wait和notify实现以及原理简介)

编程入门 行业动态 更新时间:2024-10-11 21:28:08

线程交替打印奇<a href=https://www.elefans.com/category/jswz/34/1766827.html style=偶数(wait和notify实现以及原理简介)"/>

线程交替打印奇偶数(wait和notify实现以及原理简介)

wait和notify是Object的方法,不是thread的方法。
Object,notify()作用是唤醒持有这个Object对象锁的线程,
Object,wait()作用是让当前线程进入阻塞状态。

因此 notify和wait只能用于synchronized内部,因为synchronized会指定对象锁,
而wait的前提是当前线程持有锁。
如果不在synchronized代码包含范围内会报错。

思路:定义一个object 作为锁,然后将打印的逻辑都用synchronized包含起来,
先启动了奇数线程,因为初始值i为0,i%2==1不成立,奇数线程进入wait状态,
这个时候偶数线程启动,然后打印完偶数,执行notify唤醒奇数线程,然后进入wait状态。
奇数线程被唤醒之后,打印奇数,然后执行notify唤醒偶数线程,随后自己进入wati状态。
依次。

package demo6;/*** @ClassName AlternatePrintingNotifyAndWait* @Author laixiaoxing* @Date 2019/3/17 下午7:40* @Description 交替打印奇偶数 notify实现* @Version 1.0*/
public class AlternatePrintingNotifyAndWait {private static Object object = new Object();private static int i = 0;public static void main(String[] args) throws InterruptedException {

更多推荐

线程交替打印奇偶数(wait和notify实现以及原理简介)

本文发布于:2024-02-10 22:36:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1677705.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:偶数   线程   原理   简介   wait

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!