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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiaogougou 中级黑马   /  2015-3-20 15:45  /  1194 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求各位大神解答,郁闷中。

QQ图片20150320154450.png (4.42 KB, 下载次数: 11)

QQ图片20150320154450.png

6 个回复

倒序浏览
把代码贴出来看看呗
回复 使用道具 举报
殷俊 发表于 2015-3-20 16:08
把代码贴出来看看呗

class Res
{
        String name;
        String sex;
}
class Input implements Runnable
{
        private Res r;
        Object obj=new Object();
         
        Input(Res r)
        {
                this.r=r;
        }
        public void run()
        {
                int x=0;
                while(true)
                {        synchronized(obj)
                        {       
                                if(r.flag)
                                        wait();
                                if (x==0)
                                {
                                        r.name="Mike";
                                        r.sex="man";
                                }
                                else
                                {
                                        r.name="丽丽";
                                        r.sex="女女女女女";
                                }
                                x=(x+1)%2;
                                r.flag=true;
                                notify();
                        }
                }
        }
}
class Output implements Runnable
{
        private Res r;
        Object obj=new Object();
        Output(Res r)
        {
                this.r=r;
        }
        public void run()
        {
                while(true)
                {
                        synchronized(obj)
                        {
                                if (!r.flag)
                                        wait();
                                System.out.println(r.name+"......"+r.sex);
                                r.flag=false;
                                notify();
                        }
                }
        }
}
class InputOutputDemo
{
        public static void main(String[] args)
        {
                Res r=new Res();
                Input in=new Input(r);
                Output out=new Output(r);
                Thread t1=new Thread(in);
                Thread t2=new Thread(out);
                t1.start();

                t2.start();
        }
}
回复 使用道具 举报
xiaogougou 发表于 2015-3-20 16:15
class Res
{
        String name;

有可能是那个编译器的问题。
回复 使用道具 举报
xiaogougou 发表于 2015-3-20 16:15
class Res
{
        String name;

怎么没有定义flag的初始化值?
回复 使用道具 举报
董志立 发表于 2015-3-20 16:29
有可能是那个编译器的问题。

好像Thread类,好郁闷
回复 使用道具 举报
董志立 发表于 2015-3-20 16:29
有可能是那个编译器的问题。

好像少了Thread类
继承或者实现不了 Thread类
真麻烦
绝大多数程序在我这里运行不了。。。求解。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马