《Java并发编程实战》笔记-状态依赖方法的标准形式
2024-10-14 11:45:46
void stateDependentMethod() throws InterruptedException {
//必须通过一个锁来保护条件谓词
synchronized(lock) {
while(!conditionPredicate)
lock.wait();
//现在对象处于合适的状态
}
}
当使用条件等待时(例如Object.wait或Condiotion.await):
- 通常都有一个条件谓词——包括一些对象状态的测试,线程在执行前必须首先通过这些测试。
- 在调用wait之前测试条件谓词,并且从wait中返回时再次进行测试。
- 在一个循环中调用wait。
- 确保使用与条件队列相关的锁来保护构成条件谓词的各个状态变量。
- 当调用twait、notify或notifyAll等方法时,一定要持有与条件队列相关的锁。
- 在检查条件谓词之后以及开始执行相应的操作之前,不要释放锁。
最新文章
- 消息队列——RabbitMQ学习笔记
- 制作centos的U盘启动盘
- IMPORT FROM 表数据导入
- C#关于控件的上下左右移动
- 【jmeter】JMeter中返回Json数据的处理方法
- 学习jax-ws(一)
- error C2664 转换错误汇总[转]
- ActionBar官方教程(9)ActionBar的顶部tab模式(注意,已经被弃用)
- substr,substring,slice 的区别
- myeclipse一些快捷键 错了或者没说到补充下
- win10大水牛主机插入耳机没有声音
- 20160227.CCPP体系详解(0037天)
- 1.关于QT中的Graphics绘图,定时器,动画,将窗口中的内容打印到图片上,打印机,打印预览
- HDU - 3247 Resource Archiver (AC自动机,状压dp)
- Fzreo matlab
- Spring boot教程mybatis访问MySQL的尝试
- Spring 3整合Quartz 2实现定时任务三:动态暂停 恢复 修改和删除任务
- dos常用命令使用说明
- 软件团队项目第一次Sprint评价(评价人:张家军)
- 破损的键盘(UVa 11988)