为了账号安全,请及时绑定邮箱和手机立即绑定

请问继承方法实现线程,实例化的时候只new一个线程而不是三个,难道不也是只卖五张票?

public class Ticket extends Thread {
    private int tic = 5;

    @Override
    public void run() {
        while (tic > 0) {
            --tic;
            System.out.println(Thread.currentThread().getName() + "剩下" + tic + "张票");
        }
    }

    public static void main(String[] args) {
        Ticket ticket = new Ticket();
        Thread thread1 = new Thread(ticket, "线程1");
        Thread thread2 = new Thread(ticket, "线程2");
        Thread thread3 = new Thread(ticket, "线程3");
        thread1.start();
        thread2.start();
        thread3.start();
    }
}


正在回答

2 回答

new多次就不是用同一资源了

0 回复 有任何疑惑可以回复我~

我发现是你说的那样昵,不管是继承Thread还是实现Runnable,关键还是看new了几个线程,如果都只是new1个线程,就一共卖票5张,因为3个对象继承Thread或者实现Runnable的对象都共享同一个资源。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问继承方法实现线程,实例化的时候只new一个线程而不是三个,难道不也是只卖五张票?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信