叮当猫咪

每个线程初始化的时候都是 c=new C(),锁住的是不同的对象。class Example{    public static void main(String arr[]){        C c = new C();        ThreadB th1=new ThreadB("th1",c);        ThreadB th2=new ThreadB("th2",c);    }}class ThreadB implements Runnable{    C c;    Thread thread;    ThreadB(String name,C c){        //c=new C();        this.c=c;        thread=new Thread(this,name);        thread.start();    }    public void run(){        if(thread.getName().equals("th1")){            for(int i=0;i<3;i++)c.t1(false);            c.t1(true);        }        if(thread.getName().equals("th2")){            for(int i=0;i<3;i++)c.t2(false);            c.t2(true);        }        System.out.println("end");    }}class C{    synchronized void t1(boolean boo){        if(boo){            notify();            return;        }        System.out.println("t1");        notify();        try{            wait();        }catch(InterruptedException exc){System.out.println(exc);}    }    synchronized void t2(boolean boo){        if(boo){            System.out.println();notify();return;        }        System.out.println("t2");        notify();//notifyAll()也没效果;    }}

java notify 的作用_java 为什么notify和notifyAll都不起作用?相关推荐

  1. java中的class 类的作用_Java中Class和单例类的作用与类成员的理解

    Java中Class类的作用与深入理解 在程序运行期间,Java运行时系统始终为所有的对象维护一个被称为运行时的类型标识.这个信息跟踪着每个对象所属的类.JVM利用运行时信息选择相应的方法执行.而保存 ...

  2. java 静态常量定义_Java常量定义需要注意事项及static作用(复习)

    在任何开发语言中,都需要定义常量.在Java开发语言平台中也不例外.不过在Java常量定义的时候,跟其他语言有所不同.其有自己的特色.在这篇文章中,主要针对Java语言中定义常量的注意事项进行解析,帮 ...

  3. java 逻辑或 作用_java逻辑运算符有哪些?逻辑运算符有什么作用?

    学习java程序,是需要大家有一些逻辑思维的,但是除了有逻辑思维之外,还要学会使用逻辑运算符,那么接下来,我们就来给大家讲解一下java逻辑运算符的使用方法. 与或非:&&.& ...

  4. 什么是抽象类?抽象类的作用_Java面试题amp;和amp;amp;的作用和区别

    点击上方"千锋Java学院",选择"置顶公众号" 每天一道面试模拟真题及解析 课前导读 ●回复"每日一练"获取以前的题目,持续更新! ●我希 ...

  5. 计算机cup容量有什么作用,电脑的cpu和内存条都起什么作用

    满意答案 Godluck12 2017.06.19 采纳率:44%    等级:8 已帮助:1263人 CPU的主要功能: 1.处理指令 2.执行操作 3.控制时间 4.处理数据 内存条的作用:内存是 ...

  6. java wait源码_Java精通并发-透过openjdk源码分析wait与notify方法的本地实现

    上一次https://www.cnblogs.com/webor2006/p/11442551.html中通过openjdk从c++的底层来审视了ObjectMonitor的底层实现,这次继续来探究底 ...

  7. java wait 释放锁_JAVA锁之wait,notify(wait会释放锁,notify仅仅只是通知,不释放锁)...

    wait是指在一个已经进入了同步锁的线程内,让自己暂时让出同步锁,以便其他正在等待此锁的线程可以得到同步锁并运行,只有其他线程调用了notify方法(notify并不释放锁,只是告诉调用过wait方法 ...

  8. java notify什么意思_Java notify和notifyAll的区别和相同

    经常在往上逛,关于在java中notify和notifyAll,经常有人有以下的说法: notify只会通知一个在等待的对象,而notifyAll会通知所有在等待的对象,并且所有对象都会继续运行 并且 ...

  9. Java 多线程 4:wait() 和 notify()/notifyAll()

    轮询快速到底 线程本身是操作系统中独立的个体,但是线程与线程之间不是独立的个体,因为它们彼此之间要相互通信和协作. 想像一个场景,A 线程做 int 型变量 i 的累加操作,B 线程等待 i 到了 1 ...

最新文章

  1. 重磅:腾讯正式开源图计算框架Plato,十亿级节点图计算进入分钟级时代
  2. 简单易懂的 pwnable.kr 第六题[random]Writeupt
  3. 使用gevent启动bottle web框架
  4. c语言我爱你二进制,二憨的爱情c语言表白代码我爱你·爱如流离.DOC
  5. Java程序员实现完美代码的十大要素
  6. MEncoder的基础用法—6.3. 编码为双通道MPEG-4 (DivX)
  7. STM32学习笔记(三 时钟系统 1 时钟系统精讲)
  8. jieba库和wordcloud库
  9. C#初学者教程系列3:Hello World:第一个控制台应用程序
  10. 如何让电脑快速蓝屏(只是个玩笑)
  11. python电影爬取并下载_python爬取电影并下载
  12. Git 团队协作常用术语 WIP PTAL CC LGTM
  13. 【1】国产USB转接芯片CH347-初体验
  14. android开发 问卷调查案例_基于Android的问卷调查系统模型分析与设计
  15. excel表格打印每页都有表头_Excel打印时怎么让每一页都包括表头?
  16. python文件(file)路径(Path, path Windows)
  17. 解读正则化 LASSO回归 岭回归
  18. DDR2 DDR3的区别
  19. 电脑无法登陆百度知道和百度文库解决办法
  20. java中文字符转换,Java中文字符转换拼音

热门文章

  1. MLIR与Code Generation
  2. 如何写新的Python OP
  3. RCNN系列、Fast-RCNN、Faster-RCNN、R-FCN检测模型对比
  4. 深度学习点云语义分割:CVPR2019论文阅读
  5. PHP获取今天,昨天,本月,上个月,本年 起始时间戳
  6. Android Shape 的使用
  7. [Python设计模式] 第21章 计划生育——单例模式
  8. @Controller和@RestController的区别?
  9. 【动态规划】Part1
  10. java.util.Collections.synchronizedSet()方法的使用