多线程接口实现implements Runnable

package demo.thread;

class SaleTickeRunnableImopl implements Runnable {
    /*static*/ int num = 50;    //无需static关键字共享数据   //只有一个SaleTickeRunnableImopl对象

    public static void main(String[] args) {
        SaleTickeRunnableImopl s = new SaleTickeRunnableImopl();
        Thread thread1 = new Thread(s, "1号窗口");
        Thread thread2 = new Thread(s, "2号窗口");
        Thread thread3 = new Thread(s, "3号窗口");
        thread1.start();
        thread2.start();
        thread3.start();
    }

    @Override
    public void run() {
        System.out.println("this:"+ this);//demo.RunnableImpl@7c344a45
        System.out.println("当前线程:"+ Thread.currentThread());//Thread[接口实现的线程,5,main]
        while (true) {
            synchronized ("锁") {
                if (num > 0) {
                    System.out.println(Thread.currentThread().getName() + "卖出第" + num + "张票");
                    num--;
                } else {
                    break;
                }
            }
        }
    }

}

this:demo.thread.SaleTickeRunnableImopl@16727385
当前线程:Thread[2号窗口,5,main]
2号窗口卖出第50张票
this:demo.thread.SaleTickeRunnableImopl@16727385
当前线程:Thread[1号窗口,5,main]
2号窗口卖出第49张票
2号窗口卖出第48张票
2号窗口卖出第47张票
2号窗口卖出第46张票
2号窗口卖出第45张票
2号窗口卖出第44张票
2号窗口卖出第43张票
2号窗口卖出第42张票
2号窗口卖出第41张票
2号窗口卖出第40张票
2号窗口卖出第39张票
2号窗口卖出第38张票
2号窗口卖出第37张票
2号窗口卖出第36张票
2号窗口卖出第35张票
2号窗口卖出第34张票
2号窗口卖出第33张票
2号窗口卖出第32张票
2号窗口卖出第31张票
2号窗口卖出第30张票
2号窗口卖出第29张票
2号窗口卖出第28张票
2号窗口卖出第27张票
2号窗口卖出第26张票
2号窗口卖出第25张票
2号窗口卖出第24张票
2号窗口卖出第23张票
2号窗口卖出第22张票
2号窗口卖出第21张票
2号窗口卖出第20张票
2号窗口卖出第19张票
2号窗口卖出第18张票
2号窗口卖出第17张票
2号窗口卖出第16张票
2号窗口卖出第15张票
2号窗口卖出第14张票
2号窗口卖出第13张票
1号窗口卖出第12张票
this:demo.thread.SaleTickeRunnableImopl@16727385
1号窗口卖出第11张票
当前线程:Thread[3号窗口,5,main]
1号窗口卖出第10张票
1号窗口卖出第9张票
1号窗口卖出第8张票
1号窗口卖出第7张票
1号窗口卖出第6张票
1号窗口卖出第5张票
1号窗口卖出第4张票
1号窗口卖出第3张票
1号窗口卖出第2张票
1号窗口卖出第1张票
Disconnected from the target VM, address: ‘127.0.0.1:65305’, transport: ‘socket’

Process finished with exit code 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值