黑马程序员技术交流社区

标题: 多线程的简单案例,买票,个人觉得还是挺有意义的,分享了 [打印本页]

作者: a820290471    时间: 2016-6-21 23:10
标题: 多线程的简单案例,买票,个人觉得还是挺有意义的,分享了
要求:用多线程实现卖票,在控制台打印每个线程买到的票,如果线程抢到执行权后,却没有票了,需要在控制台打印“没票了,结束出票”的提示

自己写的代码:
package cn.kanzia.zuoye;

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

public class Ticket implements Runnable{
        //定义一个票
        private int ticket = 100;
        //定义一个Lock类
        Lock lock = new ReentrantLock();
       
        @Override
        public void run() {
                for(;ticket>0;){
                        lock.lock();
                        if(ticket>0){
                               
                                System.out.println(Thread.currentThread().getName()+"买票了"+ticket+"  号票 ");
                                ticket--;
                        }
                        lock.unlock();
                        lock.lock();
                        if(ticket==0){
                                System.out.println("没票了,结束出票");
                        }
                        lock.unlock();
                }
        }
       
}

/*
* 编写Java程序,要求:用多线程实现卖票,
* 在控制台打印每个线程买到的票,如果线程抢到执行权后,
* 却没有票了,需要在控制台打印“没票了,结束出票”的提示
* 这个提还得建个票务类。。
*/
public class zuoye2 {
        public static void main(String[] args) {
                Ticket t = new Ticket();
                Thread t1 = new Thread(t,"1号");
                Thread t2 = new Thread(t,"2号");
                t1.start();
                t2.start();
                               
        }
}

作者: zhuhongbo    时间: 2016-6-22 12:43
虽然看不懂还是给个赞!
作者: 644313561    时间: 2016-6-23 21:52
点个赞!
作者: TCK8888    时间: 2016-6-23 21:58
温故知新
作者: gaojiangjian    时间: 2016-6-26 00:13
1号买票了100  号票
1号买票了99  号票
1号买票了98  号票
1号买票了97  号票
1号买票了96  号票
1号买票了95  号票
1号买票了94  号票
1号买票了93  号票
1号买票了92  号票
1号买票了91  号票
1号买票了90  号票
1号买票了89  号票
1号买票了88  号票
1号买票了87  号票
1号买票了86  号票
1号买票了85  号票
1号买票了84  号票
1号买票了83  号票
1号买票了82  号票
1号买票了81  号票
1号买票了80  号票
1号买票了79  号票
1号买票了78  号票
1号买票了77  号票
1号买票了76  号票
1号买票了75  号票
1号买票了74  号票
1号买票了73  号票
1号买票了72  号票
1号买票了71  号票
1号买票了70  号票
1号买票了69  号票
1号买票了68  号票
1号买票了67  号票
1号买票了66  号票
1号买票了65  号票
1号买票了64  号票
1号买票了63  号票
1号买票了62  号票
1号买票了61  号票
1号买票了60  号票
1号买票了59  号票
1号买票了58  号票
1号买票了57  号票
1号买票了56  号票
1号买票了55  号票
1号买票了54  号票
1号买票了53  号票
1号买票了52  号票
1号买票了51  号票
1号买票了50  号票
1号买票了49  号票
1号买票了48  号票
1号买票了47  号票
1号买票了46  号票
1号买票了45  号票
1号买票了44  号票
1号买票了43  号票
1号买票了42  号票
1号买票了41  号票
1号买票了40  号票
1号买票了39  号票
1号买票了38  号票
1号买票了37  号票
1号买票了36  号票
1号买票了35  号票
1号买票了34  号票
1号买票了33  号票
1号买票了32  号票
1号买票了31  号票
1号买票了30  号票
1号买票了29  号票
1号买票了28  号票
1号买票了27  号票
1号买票了26  号票
1号买票了25  号票
1号买票了24  号票
1号买票了23  号票
1号买票了22  号票
1号买票了21  号票
1号买票了20  号票
1号买票了19  号票
1号买票了18  号票
1号买票了17  号票
1号买票了16  号票
1号买票了15  号票
1号买票了14  号票
1号买票了13  号票
1号买票了12  号票
1号买票了11  号票
1号买票了10  号票
1号买票了9  号票
1号买票了8  号票
1号买票了7  号票
1号买票了6  号票
1号买票了5  号票
1号买票了4  号票
1号买票了3  号票
1号买票了2  号票
1号买票了1  号票
没票了,结束出票
没票了,结束出票

这个是打印结果,不知道你们弄的答案,论坛上都是这个集体坑人




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