黑马程序员技术交流社区

标题: 线程例子_售票系统 [打印本页]

作者: 暴走的牛奶    时间: 2015-8-24 23:04
标题: 线程例子_售票系统
package cn.itcast.thread;

/*
*  创建新线程第二种方式,实现接口方式
*  对售票案例,进行改进
*  延迟处理,出现错误的票数
*  同步技术,保证线程安全性,同步代码块
*  
*  速度降低,数据安全
*/
class RunnableTicket implements Runnable {
        private int tickets = 100;
        private Object obj = new Object();
        public void run() {
                while (true) {
                 synchronized(obj){       
                        if (tickets > 0) {
                                try{Thread.sleep(10);}catch(Exception ex){}
                                System.out.println(Thread.currentThread().getName() + " 出售第"+ tickets--);
                        }
                 }
                }

        }
}
public class ThreadDemo8 {
        public static void main(String[] args) {
                RunnableTicket r = new RunnableTicket();
                Thread t0 = new Thread(r);
                Thread t1 = new Thread(r);
                Thread t2 = new Thread(r);
               
                t0.start();
                t1.start();
                t2.start();
               
        }
}

作者: 熊猫超仁    时间: 2015-8-25 00:21
写得不错
作者: cc3441251    时间: 2015-8-25 00:23
谢谢楼主分享 我自己敲一遍
作者: 壊亊唑侭    时间: 2015-8-25 00:26
写得不错唷




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2