同步锁 Lock
来源:互联网 发布:centos 下载工具 迅雷 编辑:程序博客网 时间:2024/05/16 04:10
/* * 一、用于解决多线程安全问题的方式: * * synchronized:隐式锁 * 1. 同步代码块 * * 2. 同步方法 * * jdk 1.5 后: * 3. 同步锁 Lock * 注意:是一个显示锁,需要通过 lock() 方法上锁,必须通过 unlock() 方法进行释放锁 */
import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;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();@Overridepublic void run() {while(true){lock.lock(); //上锁try{if(tick > 0){try {Thread.sleep(200);} catch (InterruptedException e) {}System.out.println(Thread.currentThread().getName() + " 完成售票,余票为:" + --tick);}}finally{lock.unlock(); //释放锁}}}}
阅读全文
0 0
- 线程同步---同步锁(Lock)
- 同步锁 Lock
- java线程同步 Lock同步锁
- java 之 Lock 同步锁学习示例
- 同步锁--sleep,wait,lock,synchronized
- java线程第六课:同步锁Lock
- 简单分析Synchronized(同步锁)、Lock
- java线程同步之Lock锁
- Java同步锁Lock的使用
- python里协程使用同步锁Lock
- 线程(七)--线程同步-同步锁(Lock)
- C#lock线程同步
- 关于线程同步(Lock)
- 同步,线程通信,lock
- 同步线程1(lock)
- JAVA_同步和Lock
- 多线程同步(Lock)
- 线程同步Lock
- yii中cookie的使用
- 把json格式数据写入到本地文件
- 简书用户名爬取
- git常用命令行
- 谦虚负责
- 同步锁 Lock
- js总结(二)
- Ian Goodfellow,Yoshua Bengio合著《深度学习》教材,2017年最新中文版下载
- iOS指纹解锁Swift
- 数据结构与算法系列 目录
- zepto框架的体验
- Mac使用Shell处理图片
- 基于 maven 的 ssm 项目搭建六:整合 druid 和 mybatis
- Inno Setup 获取当前语言的名称,安装完成后,依据名称进行文件拷贝