Java基础----Lock
来源:互联网 发布:电商运营数据分析 网课 编辑:程序博客网 时间:2024/06/03 15:58
package cn.itcast_01;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class SellTicket implements Runnable {// 定义票private int tickets = 100;// 定义锁对象private Lock lock = new ReentrantLock();@Overridepublic void run() {while (true) {try {// 加锁lock.lock();if (tickets > 0) {try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName()+ "正在出售第" + (tickets--) + "张票");}} finally {// 释放锁lock.unlock();}}}}
package cn.itcast_01;/* * 虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释放了锁, * 为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock。 * * Lock: * void lock(): 获取锁。 * void unlock():释放锁。 * ReentrantLock是Lock的实现类. */public class SellTicketDemo {public static void main(String[] args) {// 创建资源对象SellTicket st = new SellTicket();// 创建三个窗口Thread t1 = new Thread(st, "窗口1");Thread t2 = new Thread(st, "窗口2");Thread t3 = new Thread(st, "窗口3");// 启动线程t1.start();t2.start();t3.start();}}
0 0
- Java基础----Lock
- 【java基础】Lock与synchronized 的区别
- Java多线程基础——Lock类
- Java多线程基础——Lock类
- Java多线程基础——Lock类
- lock基础
- Java学习Lock.lock()
- 不惑JAVA之JAVA基础 - 锁 -synchronized、Lock解析
- 多线程基础学习十:java.util.lock.concurrent.locks中lock
- Java Lock
- Java Lock
- java lock
- java lock
- java基础巩固---(线程)锁机制:synchronized、Lock、Condition
- Java多线程基础——Lock类_0
- 【Java基础】线程笔记——显式锁Lock和ReentrantLock
- java基础(九)之深入剖析线程同步Synchronized,Lock
- Java Lock Mechanism
- java-Java 里把 InputStream 转换成 String 的几种方法
- CMMI和敏捷的一些对比
- 编写基于libjingle的应用程序的步骤
- 数据结构简单的六种排序算法
- DW学习笔记2:HTMLframe练习
- Java基础----Lock
- 人脸识别经典算法一:特征脸方法(Eigenface)
- Java 实现 FusionCharts 图表导出图片或PDF文件功能
- uitableview 分割线 左边短 解决方法
- oracle 嵌套循环连接
- 我理解中的cocos2dx之Node
- 神经网络学习笔记(一)感知器神经网络
- 特种浓缩分离:中药提取液的澄清过滤技术
- Android系统介绍与框架