Java Lock使用示例
来源:互联网 发布:婚纱摄影 知乎 编辑:程序博客网 时间:2024/06/06 02:54
package com.expgiga.JUC;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 一、用于解决多线程安全问题的方式: * 1.同步代码块 synchronized 隐式锁 * 2.同步方法 synchronized 隐式锁 * 3.同步锁Lock (jdk1.5以后) 显示锁 * 注意:显示锁,需要通过lock()方式上锁,必须通过unlock()方式进行释放锁 */public class TestLock { public static void main(String[] args) { Ticket ticket = new Ticket(); new Thread(ticket, "1号窗口").start(); new Thread(ticket, "2号窗口").start(); new Thread(ticket, "3号窗口").start(); }}class Ticket implements Runnable { private int tick = 100; private Lock lock = new ReentrantLock(); @Override public void run() { while (true) { lock.lock(); try { if (tick > 0) { try { Thread.sleep(200); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " 完成售票,余票为 " + --tick); } } finally { lock.unlock(); } } }}
阅读全文
0 0
- Java Lock使用示例
- Monitor、Lock使用示例
- java lock 的使用
- Java Lock的使用
- java 之 Lock 同步锁学习示例
- Lock的使用 java多线程
- Java中Lock的使用
- java 中Lock的使用
- Java多线程--Lock的使用
- java多线程Lock的使用。
- Java学习Lock.lock()
- Java多线程之Lock的使用
- Java多线程之Lock的使用
- 黑马程序员 java Lock的使用
- JAVA多线程之Lock的使用
- Java中Synchronized和Lock的使用
- Java多线程之Lock的使用
- Java学习--多线程之Lock的使用
- OpenStack安装部署
- bzoj2756[SCOI2012]奇怪的游戏 二分 分类讨论 最大流
- Android Studio调用 符合JNI标准和非JNI标准的so库总结
- CvScalar
- Linux kernel U盘识别流程
- Java Lock使用示例
- 设置apt-get源
- 深度学习,图像分类,从vgg到inception,到resnet
- SpringMVC札集(07)——JSON数据
- GC算法与种类
- Lock 生产者消费者模型示例
- 2017 多校训练第二场 HDU 6052 To my boyfriend
- <<JavaScript高级程序设计>>读书笔记
- 浅谈扩展欧几里得