ReentrantReadWriteLock的简单实用
【ReentrantReadWriteLock的简单实用】java中对于实用synchronized对线程安全,与同步的操作是十分简单便利的,但是同时也会对性能有所降低。
但是发现synchronized对于读写数据时并不是最有效的,通过查找资料发现JDK1.5提供了一个工具类ReentrantReadWriteLock,这个就很好的解决了这个操作。
ReentrantReadWriteLock的特点为允许多个并发线程对同一个数据经行读写访问,但是同时只能有一个线程写入同一个数据。
public class list_item_cardbag2 {private list_item_message3 mAllData;
private ReentrantReadWriteLock mLock;
public list_item_cardbag2(list_item_message3 mAllCityData) {
this.mAllData=https://www.it610.com/article/mAllCityData;
mLock = new ReentrantReadWriteLock();
}/**
* 修改数据
* @param name
* @param time
*/
public void setCityData(String name,String time){ReentrantReadWriteLock.WriteLock mWriteLock=mLock.writeLock();
try {
mWriteLock.lock();
mAllData.setMessage2_name(name);
mAllData.setMessage2_time(time);
} catch (Exception e) {
e.printStackTrace();
}finally {
mWriteLock.unlock();
}
}/**
* 获取数据
* @return
*/
public String getTime(){
ReentrantReadWriteLock.WriteLock mWriteLock=mLock.writeLock();
try {
mWriteLock.lock();
return mAllData.getMessage2_time();
} catch (Exception e) {
e.printStackTrace();
return null;
}finally {
mWriteLock.unlock();
}
}}
推荐阅读
- 关于葡萄酒的保质期
- 2021 年最适合编程的 6 种字体
- 测量你的柔软度,有它就够了
- 回不去的只能记下
- Jmeter基础
- 代理回调传值
- 2017-09-02
- {调取该文章的TAG关键词}|7 More Chinese Entities Blacklisted By US
- 运动,治愈,自律,遇见更好的自己(十)
- 女星拍吻戏原来用的都是这些安全妙招