zoukankan      html  css  js  c++  java
  • ReentrantLock 手动


    Synchronized自动 关键字,完毕或异常后自动释放
    Lock(aqs) 手动 获、释锁

    public class TickerThread4 implements Runnable {

    private int count=100;
    private Lock lock=new ReentrantLock();

    @Override
    public void run() {
    while (count>0){
    ticket();
    }
    }

    public void ticket(){
    try {
    Thread.sleep(30);
    }catch (Exception e)
    {

    }
    try{
    lock.lock();
    if(count>0)
    {
    System.out.println(Thread.currentThread().getName()+",当前系统余票【"+count+"】");
    System.out.println(Thread.currentThread().getName()+",正在出票第【"+(100-count+1)+"】张");
    count--;
    }
    }catch (Exception e){

    }finally {
    lock.unlock();
    }

    }

    public static void main(String arg[])
    {
    TickerThread4 tickerThread=new TickerThread4();
    new Thread(tickerThread,"售票机1号").start();
    new Thread(tickerThread,"售票机2号").start();
    }

    }

  • 相关阅读:
    【转】Quartz Cron 触发器 Cron Expression 的格式
    [转]MYSQL同时LEFT JOIN 多个表一例
    collapse用法
    flavor用法
    horny
    ever since用法
    be headed for用法
    Lemme用法
    scary用法
    feel like用法
  • 原文地址:https://www.cnblogs.com/smallfa/p/14604886.html
Copyright © 2011-2022 走看看