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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


1.写一个卖票的程序,
     1.写一个类,该类实现了Runnable接口.有一
             个私有类型的int作为参数tickets.
                   票的总数为100,完成run方法,输出结果的格式如下:
                   当前窗口为:窗口a,剩余票数为19,其中窗口a为线程的名字
         2.开启四个卖票窗口(开始四个线程),同时执行卖票的程序
*/
public class Test06 {
        public static void main(String[] args) {
                //创建Runnable接口类对象
                MyTickets t = new MyTickets();
                //创建Thread类,将Runnable类调用Thread类中的.start()方法,并将线程赋予名字
                new Thread(t,"窗口a").start();
                new Thread(t,"窗口b").start();
                new Thread(t,"窗口c").start();
                new Thread(t,"窗口d").start();
               
               
        }
       
       
}
//创建Runnable接口的类
class MyTickets implements Runnable {
        //定义票的数量
        private int tickets = 100;
        @Override
        //重写run方法
        public void run() {
               
                while (true) {
                        synchronized (MyTickets.class) {
                                //判断票数数是否为0
                                if(tickets < 0)
                                        break;
                               
                                try {
                                        Thread.sleep(10);
                                } catch (InterruptedException e) {
                                       
                                        e.printStackTrace();
                                }
                                //当前窗口为:窗口a,剩余票数为19,其中窗口a为线程的名字
                                System.out.println( "当前窗口为:" + Thread.currentThread().getName() + " 剩余票数为:" + tickets--);
                        }
                               
                               
                       
                }
               
        }
       
       
}

5 个回复

倒序浏览
顶顶顶顶顶顶顶顶顶顶顶顶顶顶
回复 使用道具 举报
顶贴是一种美德
回复 使用道具 举报
多谢大虾.....
回复 使用道具 举报
多线程必备的程序吧
回复 使用道具 举报
赞赞赞!~!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马