A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wuyusi 中级黑马   /  2015-5-31 15:27  /  864 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 wuyusi 于 2015-5-31 17:29 编辑

class XiaoFei
{
        public static void main(String [] args)
        {
        Resc r = new Resc();
        new Thread(new Pro(r)).start();
        new Thread(new Con(r)).start();
        }
}

class Resc  
{
        private String name;
        private int count=1;
        private boolean flag = false;
        public synchronized void set(String name)
        {
                if(flag)
                {
                        try
                        {
                                wait();
                        }
                        catch (Exception e)
                        {
                        }
                }
                this.name=name+"...."+count++;
                System.out.println(Thread.currentThread().getName()+"..."+this.name);
                flag = true;
                notify();

        }
        public synchronized void get()
        {
                if(!flag)
                {
                        try
                        {
                                wait();
                        }
                        catch (Exception e)
                        {
                        }
                }
        System.out.println(Thread.currentThread().getName()+"..."+this.name);
                flag = false;
                notify();
        }
}


class Pro implements Runnable
{

        private Resc r;
        Pro(Resc r)
        {
                this.r = r;
        }
        public void run()
        {
                while(true)
                {
                r.set("商品");
                }
        }
}
class Con implements Runnable
{

        private Resc r;
        Con(Resc r)
        {
                this.r = r;
        }
        public void run()
        {
                while(true)
                {
                r.get();
                }
        }
}

QQ图片20150531151816.png (4.87 KB, 下载次数: 11)

编译异常

编译异常

7 个回复

倒序浏览
Con是操作系统保留字,你把你的类名Con更改为其它名称,即可
相应的还有一些其他的操作系统保留字:PRN, AUX, CLOCK$, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9

点评

(๑ŐдŐ)b,厉害  发表于 2015-5-31 16:21
回复 使用道具 举报
异常捕捉到后没做处理吧,其他看了下似乎没错
回复 使用道具 举报
风之旅人 发表于 2015-5-31 16:17
Con是操作系统保留字,你把你的类名Con更改为其它名称,即可
相应的还有一些其他的操作系统保留字:PRN, AU ...

问题已解决,太谢谢你了
回复 使用道具 举报
你那个wait() 和notify()前面应该加上this.表示同一把锁
回复 使用道具 举报
forTomorrow 发表于 2015-5-31 16:22
你那个wait() 和notify()前面应该加上this.表示同一把锁

是Con的问题,改一下就好了
对象唯一,不加this也可以
回复 使用道具 举报
wuyusi 发表于 2015-5-31 16:21
问题已解决,太谢谢你了

哈哈,大家共同进步,共勉共勉
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马