A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘文秀 中级黑马   /  2016-7-26 23:19  /  378 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.itheima02;

public class Demo01_Ticket {
        public static void main(String[] args) {
                Demo02_Runnable dr = new Demo02_Runnable();
                Thread th = new Thread(dr);
                Thread th1 = new Thread(dr);
                Thread th2 = new Thread(dr);
                th.start();
                th1.start();
                th2.start();
        }
}


package com.itheima02;

import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

public class Demo02_Runnable implements Runnable {
       
        static int tickets = 100;
        Lock lock = new ReentrantLock();
        private Object obj = new Object();
       
        @Override
        public void run() {
                while(true) {
                        synchronized (obj) {
                        //lock.lock();
                                if(tickets > 0) {
                                        try {
                                                Thread.sleep(30);
                                        } catch (InterruptedException e) {
                                                e.printStackTrace();
                                        }
                                        String s = Thread.currentThread().getName();
                                        System.out.println(s + "正在售:第"+tickets--+"张票");
                                }else {
                                        break;
                                }
                        }
                        //lock.unlock();
                }
        }

}



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马