public class LockTest { public static void main(String[] args) { LockTest test = new LockTest(); final DealMoney money = test.new DealMoney(); for(int i=0;i<10;i++) { new Thread(new Runnable() { @Override public void run() { money.getM(); } }).start(); } for(int i=0;i<10;i++) { new Thread(new Runnable() { @Override public void run() { money.setM(20); } }).start(); } } public class DealMoney { private int money = 100; private ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); public DealMoney() { } public void setM(int money) { lock.writeLock().lock(); try { System.out.println(Thread.currentThread().getName()+":进入写操作"); try { Thread.sleep(10000); } catch (InterruptedException e) { } this.money = this.money+money; System.out.println(Thread.currentThread().getName()+":存入金额:"+this.money); } finally { lock.writeLock().unlock(); } } public int getM() { lock.readLock().lock(); System.out.println(Thread.currentThread().getName()+":进入读操作"); try { Thread.sleep(10000); System.out.println(Thread.currentThread().getName()+":得到金额:"+this.money); } catch (InterruptedException e) { }finally { lock.readLock().unlock(); } return this.money; } } }
相关推荐
.NET LOCK使用方法 网上收集,版权为原作者所有,谢谢
python-redis-lock 多个redis客户端访问同一个redis服务端,控制并发。 github:https://pypi.org/project/python-redis-lock/ 在使用这个库之前,需要安装如下: pip install python-redis-lock 使用锁的示例: ...
WakeLock使用方法代码实例,需要的朋友可以参考一下
lock 使用演示代码,让大家认识到LOCK的用途
并发编程中,锁是经常需要用到的,今天我们一起来看下Java中的锁机制:synchronized和lock。 Synchronized 和 Lock的概念 Synchronized 是Java 并发编程中很重要的关键字,另外一个很重要的是 volatile。Syncronized...
Lock锁是对象锁,仅在同一对象中,锁才会生效。(不做论证) (以下场景皆为单例模式下运行) lock.lock()的加锁方式,会使后续请求的线程堵塞等待。(方案A) lock.tryLock()的加锁方式,不会堵塞,会立即返回加锁...
WINXP下无法使用CAPS LOCK键关闭Caps Lock指示灯
使用C#,winfrom界面,解决线程并发功能界面演示。当多个线程同时调用一个方法或一个数据,出现并发情况,这个时候使用Lock进行方法或数据的锁定,解决并发带来的数据异常或其他问题。
i3lock-改进了的屏幕储物柜 >是像slock这样的简单屏幕锁。 启动后,您会看到一个白色屏幕(您可以配置颜色/图像)。... 随着时间的流逝,i3...在OpenBSD上,i3lock使用bsd_auth(3)框架。 安装 请参阅。 要求 pkg-con
lock(this)的使用说明,lock关键字讲解!!!!!!!!!!!!
Lock、Synchoronized和ReentrantLock的使用
分布式锁 使用Redis的分布式锁。 要运行演示 - 生成本地 redis 集群,克隆此存储库并运行单元测试
Active Lock可以将任何一款普通的U盘变成您的Windows登录钥匙。 启用Active Lock后,用户需要插入USB钥匙盘才能登录Windows操作系统,拔出U盘时自动锁住电脑。Active Lock采用Windows登录验证接口,支持Windows 2000...
npm install -g yarn yarn install 安装失败,使用官方下载的yarn.lock文件
Lock On Flaming Cliffs 2英文版算号器及使用方法
获取WakeLock实例后通过acquire()获取相应的锁,然后进行其他操作,最后使用release()释放(释放是必须的)。 Note: 1. 在使用以上函数的应用程序中,必须在其Manifest.xml文件中加入下面的权限: ...
wakelock插件使用。 对于此插件,这意味着基本API是使用定义的。 鸽子文件可在主软件包的中找到。 该API是在Dart中的定义的。 此外,Android和iOS实现可在主程序包中找到,而Web实现则在。 此仓库中的软件包如下: ...
判断CapsLock键有没有打开 判断CapsLock键有没有打开 判断CapsLock键有没有打开
Redis-leader-by-lock 使用Redis Lock轻松实现集群领导者选举仅使用Spring-Boot和Redis动机几乎所有使用Spring Boot进行领导力选举的例子都转到Hazelcast(现在已弃用)和Zookeeper(在简单情况下过强)中的Spring ...