黑马程序员技术交流社区

标题: 线程的程序错误问题 [打印本页]

作者: daoyua    时间: 2014-1-9 13:57
标题: 线程的程序错误问题
本帖最后由 daoyua 于 2014-1-10 17:06 编辑

        class Demo extends Thread
{
        static int num =100;
        public void run(){
                while(num>0){
                        System.out.println(currentThread().getName()+"售出"+num);
                        num--;
                }
        }
}

class Test  
{
        public static void main(String args[])
        {
                Demo d1=new Demo();
                Demo d2=new Demo();
                Demo d3=new Demo();
                Demo d4=new Demo();
                d1.start();
                d2.start();
                d3.start();
                d4.start();
        }
}//这个我输出后,线程1,2,3,4都要打出序列号为100的号,怎么回事
作者: 午夜b'Boy    时间: 2014-1-10 16:59
你应该写一个类xx 实现runable接口,再new Thread(new xx()).start;你的写法建立了4个独立的线程,并且各有各的num变量




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