Java多线程之同步
来源:互联网 发布:ecshop分销系统源码 编辑:程序博客网 时间:2024/06/03 22:40
同步:两个或者两个以上的线程需要对共享对同一数据的存取。
如果不对共享数据进行同步处理,就会导致数据讹误。
方法有二:
1、使用关键字synchronized可以到达目的;
2、使用ReentrantLock类也可以到达目的;
使用ReentrantLock方法:
ReentrantLock():构建一个可以被用来保护临界区的可重入锁;
ReentrantLock(boolean fair):构建一个带有公平策略的锁。但是,并不是绝对公平的。
执行void lock():获取这个锁,如果锁被另一个线程拥有则发生阻塞;
执行void unlock():释放这个锁。
在ReentrantLock类中有Condition,代表条件锁。
调用ReentrantLock为方法newCondition()返回此锁的条件对象。
在Condition类中:
void await():将该线程放到条件的等待集中;
void signalAll():解除该条件的等待集中的所有线程的阻塞状态;
void signal():从该条件的等待集中随机第选择一个线程,解除其阻塞状态;
注意:wait、notifyAll以及notify方法是Object类的final方法。Condition方法必须被命名为await、signalAll和signal以便它们不会与那些方法发生冲突。
阅读全文
0 0
- Java多线程之同步
- java多线程之-同步
- Java多线程之同步关键字
- Java多线程之线程同步
- Java多线程之线程同步
- java多线程之 ---- 线程同步
- JAVA多线程之线程同步
- Java多线程之线程同步
- Java多线程之线程同步
- Java多线程之同步通信
- java多线程之线程同步
- Java多线程之同步与死锁
- Java多线程之同步与死锁
- java多线程之synchronized(线程同步)
- java多线程之Lock线程同步
- java多线程同步工具之Semaphore信号灯
- Java多线程同步工具之CyclicBarrier
- java多线程同步工具之CountDownlatch
- 网校搭建完成,课程还需要设计吗?
- 集成电路中测试概述(二)
- ON DUPLICATE KEY UPDATE 附带更新条件
- sentry-coco 捕获异常集攻略
- ElasticSearch5.4.3 环境搭建 2017 (7-elasticsearch-license)
- Java多线程之同步
- leetcode--Search a 2D Matrix
- Android从服务器取图片向Bitmap加载时内存溢出问题
- ssm项目---人事管理系统:分页示例
- Linux下Find文件查找与Grep文件内容查找命令
- python的List
- 深入浅出vector之resize()/reserve(), size()/capacity()
- 元类及创建元类的方法(面试用
- 使用PIL生成用户头像缩略图