黑马程序员技术交流社区

标题: 求大神,编译结果为什么是这样的? [打印本页]

作者: 奋上    时间: 2014-7-31 23:16
标题: 求大神,编译结果为什么是这样的?
/*
生产者,消费者的例子
必须写while循环、notifyAll
*/



class Res
{
        private String name;
        private int count = 1;
        private boolean flag = false;

        public synchronized void set(String name)
        {
                while (flag)
                {
                        try{wait();}catch(Exception e){}
                        this.name = name+count++;
                        System.out.println(Thread.currentThread().getName()+"...生产者.."+this.name);
                        flag = true;
                        this.notifyAll();
                }
        }

        public synchronized void show()
        {
                while (!flag)
                {
                        try{wait();}catch(Exception e){}
                        System.out.println(Thread.currentThread().getName()+"...消费者.........."+this.name);
                        flag = false;
                        this.notifyAll();
                }
        }
}


class Pro implements Runnable
{
        private Res r;
        Pro(Res r)
        {
                this.r = r;
        }

        public void run()
        {
                while (true)
                {
                        r.set("商品");
                }
        }
}


class Con implements Runnable
{
        private Res r;
        Con(Res r)
        {
                this.r = r;
        }

        public void run()
        {
                while (true)
                {
                        r.show();
                }
        }
}


class  ProConDemo
{
        public static void main(String[] args)
        {
                Res r = new Res();

                Pro p = new Pro(r);
                Con c = new Con(r);

                Thread t1 = new Thread(p);
                Thread t2 = new Thread(p);
                Thread t3 = new Thread(c);
                Thread t4 = new Thread(c);

                t1.start();
                t2.start();
                t3.start();
                t4.start();
        }
}







QQ截图20140731231544.jpg (39.7 KB, 下载次数: 12)

QQ截图20140731231544.jpg

作者: 奋上    时间: 2014-8-1 00:07
求大神给看看
作者: 奋上    时间: 2014-8-1 20:25
没人吗?
作者: wisely    时间: 2014-8-1 20:35
据我猜测,还会发出几声嗡鸣声……
作者: 孤守星空    时间: 2014-8-1 20:39
是不是默认编码方式换了
作者: 0小菜鸟0    时间: 2014-8-1 20:41
太长了,看的好晕
作者: 奋上    时间: 2014-8-1 20:50
wisely 发表于 2014-8-1 20:35
据我猜测,还会发出几声嗡鸣声……

对的,对的,还发出了几声声音,编译出来少个Con类文件,是怎么回事呢?
作者: wisely    时间: 2014-8-2 00:16
奋上 发表于 2014-8-1 20:50
对的,对的,还发出了几声声音,编译出来少个Con类文件,是怎么回事呢? ...

{:3_55:}
我忘了……
作者: hmid    时间: 2014-8-2 00:36
确认源文件的编码方式。编译时使用javac -encoding utf-8




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