wait和notify方法
来源:互联网 发布:重庆时时计划软件 编辑:程序博客网 时间:2024/06/05 12:49
wait和notify相关概念:
wait和notify方法是Java同步机制中重要的组成部分, 他们只有在Synchronized方法或Synchronized代码块中才能使用
否者就会报java.lang.IllegalMonitorStateExceprion异常
当Synchronized方法或者Synchronized代码块中的wait() 方法被调用时,当前线程将被中断运行,并且放弃该对象锁
当例外的线程执行了某个对象notify()方法后,会唤醒在此对象等待池中的某个线程使之成为可运行的(就绪状态)线程。
notifuAll()方法会唤醒所有等待这个对象的线程使之成为可运行的线程。
注意事项:
1.当方法wait被执行后,锁会被自动释放,但执行完notify()方法,锁不会自动释放
2.当线程呈wait状态,如果此时调用线程对象的interrupt()方法会导致线程出现InterruptedException异常。
3.调用对象一次notify()方法只会唤醒该对象锁定的一个线程,如果要全部唤醒,需要调用notifyAll()方法
4.wait(long)方法的功能是等待一个时间段,如果超过这个时间段没有被唤醒,将自动唤醒。
阅读全文
0 0
- wait和notify方法
- synchronized方法和wait、notify的关联
- 线程中的wait和notify方法
- java同步wait和notify方法
- java Object中的wait和notify方法
- Java中的Wait() 和notify()方法(转)
- Object的Wait() 和notify()方法使用
- java的wait和notify方法浅析
- 正确理解wait()和notify()方法
- 线程中的wait和notify方法
- 14.5 wait和notify方法 停止线程
- JAVA中的Wait() 和notify()方法
- 线程中的wait和notify方法
- 多线程中的wait()和notify()方法
- wait与notify方法
- wait/notify,sleep方法
- synchronized和wait()/notify()
- wait和notify实例
- 自动化测试工具Selenium入门
- PyQt5学习第一发(基础窗口创建 菜单栏 工具栏 状态栏 )
- QFTP的配置使用以及避免下载文件为0kb的注意事项
- MVP一级列表购物车自定义View
- Ubuntu(乌班图)系统下搭建Gerrit服务器及使用过程中会遇到的一些问题
- wait和notify方法
- 【ML学习笔记】5:机器学习中的数学基础5(张量,哈达玛积,生成子空间,超平面,范数)
- 【Scikit-Learn 中文文档】4 线性和二次判别分析
- Mybatis知识点
- ConcurrentHashMap的实现原理
- 错误笔记:JDBC向oracle数据库中插入数据遇到线程阻塞问题
- 主机不能拷贝东西到虚拟机上 解决
- php验证码工具类
- drawlayout点击请求不同数据并XListView刷新