用的比较少, 做一个参考. 原文在
这里
public class Calculator {
private int calculatedValue;
private int value;
private ReadWriteLock lock = new ReentrantReadWriteLock();
public void calculate(int value) {
lock.writeLock().lock();
try {
this.value = value;
this.calculatedValue = doMySlowCalculation(value);
} finally {
lock.writeLock().unlock();
}
}
public int getCalculatedValue() {
lock.readLock().lock();
try {
return calculatedValue;
} finally {
lock.readLock().unlock();
}
}
public int getValue() {
lock.readLock().lock();
try {
return value;
} finally {
lock.readLock().unlock();
}
}
}
分享到:
相关推荐
读写锁实现例子
linux文件读写锁一个例子,已经通过测试,使用非常方便
* 读写锁 * 读-读并发,读-写互斥,写-写互斥 * Windows NT下可以使用 * 基于CRITICAL_SECTION实现,简单高效,只支持在进程内使用,不支持进程间使用 * 支持限制最大并发读者数 * 写操作优先(即当前有线程...
一个串口读写数据的MFC例子,包括本地文件读取等
网上讲读写锁的例子众多,但是原理简单,代码明晰的却不多见, 索性自己写个. 读写锁一般用于多个读者,1个或多个写者同时访问某种资源的时候。多个读者之间是可以共享资源的,但是写者与读者之间,写者与写者之间是资源...
我们可以得知SQLite是文件级别的锁:多个线程可以同时读,但是同时只能有一个线程写。Android提供了SqliteOpenHelper类,加入Java的锁机制以便调用。如果多线程同时读写(这里的指不同的线程用使用的是不同的Helper...
主要介绍了Java多线程编程之读写锁ReadWriteLock用法实例,本文直接给出编码实例,需要的朋友可以参考下
主要介绍了举例说明Java多线程编程中读写锁的使用,文中的例子很好地说明了Java的自带读写锁ReentrantReadWriteLock的使用,需要的朋友可以参考下
水平锁定 ... 下面是一个例子: var level = require ( 'level' ) ; var db = level ( '/tmp/users.db' , { valueEncoding : 'json' } ) ; var lock = require ( 'level-lock' ) ; var username = pro
支持独占锁,共享锁,读写锁,并且支持事务提交失败情况下的回滚操作,让开发者可以有更多时间侧重游戏逻辑。此框架已经上线手游项目两年,经过百万级DAU验证,稳定运行。互斥锁使用例子可参考test下的实体。生成...
这是我自己之前学习的linux时的入门学习的例子大全(非网上转载),其中包括了:文件读写、管道、信号量、消息队列、线程/进程、互斥锁、socket通信……等29个案例,还有自己曾经用过的暗文密码(即输入密码时显示*,...
通过原子操作、线程同步如互斥锁、读写锁、条件变量、信号量等方法解决C++线程安全问题。同时介绍了线程安全的单例,饿汉模式和懒汉模式。对于C++智能指针作出了简要介绍。同时整理了相关的例子帮助理解。适用人群:...
4.2 一个简单的客户-服务器例子 32 4.3 管道 32 4.4 全双工管道 37 4.5 popen和pclose函数 39 4.6 FIFO 40 4.7 管道和FIFO的额外属性 44 4.8 单个服务器,多个客户 46 4.9 对比迭代服务器与并发...
4.2 一个简单的客户-服务器例子 32 4.3 管道 32 4.4 全双工管道 37 4.5 popen和pclose函数 39 4.6 FIFO 40 4.7 管道和FIFO的额外属性 44 4.8 单个服务器,多个客户 46 4.9 对比迭代服务器与并发服务器 50 ...
②从上边的测试数据文件例子可以看出,某一生产者生产一个产品后,可能不止一个消费者,或者一个消费者多次地请求消费该产品。此时,只有当所有的消费需求都被满足以后,该产品所在的共享缓冲区才可以被释放,并...
4.2 一个简单的客户-服务器例子 32 4.3 管道 32 4.4 全双工管道 37 4.5 popen和pclose函数 39 4.6 FIFO 40 4.7 管道和FIFO的额外属性 44 4.8 单个服务器,多个客户 46 4.9 对比迭代服务器与并发服务器 50 4.10 字节...
4.2 一个简单的客户-服务器例子 32 4.3 管道 32 4.4 全双工管道 37 4.5 popen和pclose函数 39 4.6 FIFO 40 4.7 管道和FIFO的额外属性 44 4.8 单个服务器,多个客户 46 4.9 对比迭代服务器与并发服务器 50 4.10 字节...
文档中汇总了linux内核态中,出现竞态时,要用到的函数接口及其含义。设计到,中断使能禁止,自旋锁,读写锁,RCU,信号量,读写信号量,互斥量。
读写锁;记录上锁;Posix和System V信号灯;Posix和System V共享内存;Solaris门和Sun RPC;IPC技术的性能测量。 本书内容详尽且具有权威性,几乎每章都有精选的习题,是计算机和网络专业高年级本科生和研究生的...