public class Test2 {public static void main(String[] args) {String lock = "lock";Thread thread1 = new Thread(new Runnable() {@Overridepublic void run() {synchronized (lock){System.out.println("线程1开始等待" + System.currentTimeMillis());try {lock.wait();} catch (InterruptedException e) {e.printStackTrace();}System.out.println("线程1结束等待" + System.currentTimeMillis());}}}){};Thread thread2 = new Thread(new Runnable() {@Overridepublic void run() {synchronized (lock){System.out.println("线程2开始等待唤醒" + System.currentTimeMillis());lock.notify();System.out.println("线程2开始唤醒" + System.currentTimeMillis());}}}){};thread1.start();try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}thread2.start();}
}

wait和notify使用例子相关推荐

  1. Java多线程 第三章 等待/通知(wait/notify)机制

    上接第一章的线程状态 一个wait和notify的例子: public class SynchronTest {private int i=1;public static void main(Stri ...

  2. java snychronized_Java synchronized同步线程机制(三) | 学步园

    前面讲了那么理论知识和例子,现在讲讲故事,毕竟故事所体现的原理更容易理解. 打个比方:一个object就像一个大房子,大门永远打开.房子里有 很多房间(也就是方法).这些房间有上锁的(synchron ...

  3. atomiclong 初始化_Java并发编程【1.2时代】

    本文介绍了Java原生的多线程技术(1.2),通过详细介绍wait和notify相关的机制.基础的多线程技术以及基于这些技术的等待超时.线程间的通信技术和线程池高阶技术,最后通过一个基于线程池的简单文 ...

  4. 前端框架-Angular.js

    前端的功能与单页应用 就webapp开发而言,前端实现的功能主要有: -实现UI(渲染出用户可见的视图和各种功能组件) -对用户的操作(事件)做出反应 -实现业务逻辑 -实现页面路由 -与服务器端交互 ...

  5. JAVA社交平台项目第七天 JUC多线程

    JUC多线程 (一) 学习目标: 掌握多线程的创建 掌握线程安全的处理 了解线程状态 掌握线程停止的两种方法 了解线程的原子性,可见性和有序性 理解内存可见性的原理 掌握synchronized解决内 ...

  6. Java并发编程初级-未使用Java并发包的时候

    转自Java并发编程网   http://ifeve.com/java_multi_thread_programming_1_2/ 本文介绍了Java原生的多线程技术(1.2),通过详细介绍wait和 ...

  7. xmpp 中文 XEP-0084: 用户头像

    本文的英文原文来自XEP-0079 XEP-0079: 高级消息处理 摘要: 本文定义了一个XMPP协议扩展来实现实体请求,服务器执行的,高级XMPP message 节处理, 包括可靠数据传输, 时 ...

  8. 学习资料2900篇(4~6)

    1451 round 方法  1452 RSS 2.0 Specification  1453 Ruby入门之代码块.迭代子和过程对象  1454 SAS9新体验:在DATA STEP中使用JAVA对 ...

  9. Vue中换行函数及具体操作

    在element中,使用Message和Notification等,默认内容是不换行的.所以这里给大家推荐一个简单又便捷的写法. 以Notification为例,阅读官方文档,添加dangerousl ...

最新文章

  1. 安装Nginx的方法教程
  2. 用户输入一个数字,找到所有能够除尽它的数的总个数
  3. 2020ICPC·小米 网络选拔赛第一场(D. Router Mesh)
  4. CubieBoard开发板数据源介绍
  5. 大型互联网架构概述,看完文章又涨知识了
  6. 云炬60s看世界20211122
  7. 使用SecureCrt远程登录Linux安装配置教程
  8. dp递推 hdu1978
  9. SQL Server将数据库中的表复制到另一个数据库
  10. 【Matlab】离散点拟合曲面
  11. 数据挖掘之数理统计与描述性统计
  12. python字典(dict)合并的操作
  13. java锁机制ppt_总结:Java锁机制
  14. 查看mysql字符集参数_查看现阶段mysql字符集的参数
  15. Qt QT_BEGIN_NAMESPACE
  16. 入门必学 | R语言程序包的安装与使用指南
  17. linux微软雅黑字体库_Linux_Debian系统中安装微软雅黑字体的教程,想在linux下添加微软雅黑的字 - phpStudy...
  18. vscode配置html页面自动刷新,Vscode关闭自动更新设置
  19. HTML实现“流星雨”
  20. 职场新人如何招架同事倚老卖老?

热门文章

  1. 怎样下载C/C++的免费、开源且跨平台IDE——Code::Blocks
  2. 使用Shell脚本查询服务器硬件信息
  3. 查看UNIX系统版本
  4. 虚拟化简化数据中心管理
  5. 码率跟视频质量有关系
  6. 功率信号与能量信号的超棒理解!
  7. c++突破网关屏蔽_为什么加了屏蔽罩,测试效果反而不好?
  8. 韦根w34是多少位_韦根接口读卡器说明书
  9. 前端面试每日 3+1(每日三问)
  10. 笔记:Java虚拟机运行时数据区