黑马程序员技术交流社区

标题: 为什么实现Runnable接口的线程能够共享没有被static修饰的变量 [打印本页]

作者: as604049322    时间: 2014-11-27 18:30
标题: 为什么实现Runnable接口的线程能够共享没有被static修饰的变量
本帖最后由 as604049322 于 2014-11-27 19:08 编辑

现在看到《毕向东_Java基础视频教程第11天-08-多线程(创建线程-实现Runnable接口)》,不明白为什么这种方式几个线程就可以共享被private修饰的变量,而继承Thread类就只有被static修饰的变量能够被几个线程同时共享数据。:(

代码如下:
class Ticket implements Runnabl
{
    private  int tick = 100;
    public void run()
    {
        while(true)
        {
            if(tick>0)
            {
                System.out.println(Thread.currentThread().getName()+"....sale : "+ tick--);
            }
        }
    }
}


class  TicketDemo
{
    public static void main(String[] args)
    {
        Ticket t = new Ticket();

        Thread t1 = new Thread(t);//创建了一个线程;
        Thread t2 = new Thread(t);//创建了一个线程;
        Thread t3 = new Thread(t);//创建了一个线程;
        Thread t4 = new Thread(t);//创建了一个线程;
        t1.start();
        t2.start();
        t3.start();
        t4.start();
    }
}

作者: as604049322    时间: 2014-11-27 19:07
懂了。因为只建立了一个对象。Ticket t = new Ticket();




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