Java中线程通信的方法
来源:互联网 发布:扭矩补偿算法 编辑:程序博客网 时间:2024/06/04 19:59
1.对于传统的synchronized同步监视器对象(同步块中的obj互助哦和同步方法中的this)
借助于Object提供的wait(),notify()和notifyAll()
这三个方法不属于Thread类,属于Object类,但是这三个方法必须由同步监视器来调用。
wait()方法——当前线程等待(当前线程会释放对该同步监视器的锁定),直到其他线程调用该同步监视器的notify()或者notifyAll()方法
notify()方法——唤起在此同步监视器上等待的一个线程(随机)。代表当前线程释放对该监视器的锁定后,才可以执行被唤醒的线程。
notifyAll()方法——唤醒在此同步监视器上等待的所有线程。
2.对于使用Lock的使用Condition控制线程通信
Condition实例被绑定在Lock对象上,调用对象的newCondition()即可。Condition代替了同步监视器的功能。提供以下三个方法,与上面的三个方法类似:await(),signal()和signalAll()方法。
3.使用阻塞队列BlockingQueue
当生产者线程放入元素时,如果队列已满,则阻塞该线程
当消费者线程取出元素时,如果队列为空,则阻塞该线程
0 0
- Java中线程通信的方法
- Java中线程的通信
- Java中线程的通信
- 多线程:JAVA线程通信的方法收集
- java 线程通信的两种方法
- Java中线程通信
- 在Java中,关于线程的通信
- java中线程间的通信
- java的线程通信
- Java中线程通信协作
- java多线程与线程间通信的原理和方法
- Java中Socket通信的基本方法
- Java学习之线程中一些方法,生命周期,线程间通信
- java中传统的线程通信个人见解
- java中传统的线程通信个人见解
- Java中线程间的通信(synchronized,wait,notify)
- java中创建线程的的方法
- JAVA线程间的通信
- php操作office文档
- ssh2远程连接linux服务器
- Jmeter性能测试
- noip2014联合权值
- 【Java基础】:线程的生命周期
- Java中线程通信的方法
- JAVA多线程打印ABC
- Nginx搭建
- 23种设计模式全解析
- JDBCUtil工具类回顾
- 分布式事务解决方案(三)
- PHP高级特性(Senior features of php)之异常处理
- AbstractRoutingDataSource实现切库和读写分离
- CSS中清除浮动的几种方式