Lock的用法
来源:互联网 发布:python .shift[1] 编辑:程序博客网 时间:2024/06/05 22:50
package test45;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/*** * * @author samsung * *虽然我们理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加了锁,在哪里解了锁 *为了更清晰的表达如何加锁和释放锁,JDK5提供了一个新的对象Lock *Lock: * void lock();获取锁 * void unlock();释放锁 */public class test45 { public static void main(String[] args) { //创建资源对象 sells s=new sells(); //创建线程对象 Thread t1=new Thread(s,"窗口1"); Thread t2=new Thread(s,"窗口2"); Thread t3=new Thread(s,"窗口3"); t1.start(); t2.start(); t3.start(); }}class sells implements Runnable { //定义票 private int tickets=100; //定义锁对象 private Lock lock=new ReentrantLock(); @Override public void run() { // TODO Auto-generated method stub //加锁 lock.lock(); while(tickets>0) { try { Thread.sleep(100); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(Thread.currentThread().getName()+"正在出售第"+(tickets--)+"张票"); } //释放锁 lock.unlock(); }}
1 0
- Lock的用法
- 锁 Lock 的用法简介
- lock与Monitor的用法
- Lock 用法
- lock用法
- Lock用法
- c# 中多线程同步Lock的用法
- 关于lock(this)的说明及用法
- C#多线程中lock的用法
- lock关键字的用法。弄懂了。
- lock(this)的说明及用法
- c#多线程中Lock()的用法
- Synchronize 和 Lock 的区别与用法
- 多线程学习--多线程中Lock的用法
- java Lock和Condition的用法
- 多线程中lock用法的经典实例
- Java并发编程--Lock的用法
- synchronized和lock的用法区别
- 解决样式错乱
- php连接mysql与时间戳和时间的转换
- 02:浮点型数据类型存储空间大小
- Unity 第三人称镜头跟随
- zoj3160Couples
- Lock的用法
- 集合框架
- 优化SQL语句的一般步骤
- SVN授权访问(多版本库共享配置)
- 异步调用
- 递归思想完成n皇后问题
- 114. Flatten Binary Tree to Linked List
- break用法
- 03:其他基本数据类型存储空间大小