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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ying 中级黑马   /  2013-1-7 13:47  /  1110 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 ying 于 2013-1-8 13:14 编辑

  1. <P>class Res
  2. {
  3. String name;</P>
  4. <P> String sex;</P>
  5. <P> boolean flag = false;</P>
  6. <P>}
  7. /*
  8. Input线程负责
  9. 向资源对象中存放数据
  10. */
  11. class Input implements Runnable
  12. {
  13. private Res r ;
  14. Object obj = new Object();
  15. Input(Res r)
  16. {
  17.   this.r = r;
  18. }</P>
  19. <P> public void run()
  20. {
  21.   int x = 0;
  22.   while(true)
  23.   {
  24.    synchronized(r)
  25.    {
  26.     if(r.flag)
  27.     try{r.wait();}catch(Exception e){};
  28.     if(x == 0)
  29.     {
  30.      r.name = "mike";
  31.      r.sex = "male";
  32.      x = 1;
  33.     }else{
  34.      r.name = "丽丽";
  35.      r.sex = "女女女女女";
  36.      x = 0;
  37.     }
  38.     r.flag = true ;
  39.     notify();
  40.    }
  41.   }
  42. }
  43. }
  44. /*
  45. Output此线程负责
  46. 从资源对象中取出数据并打印
  47. */
  48. class Output implements Runnable
  49. {
  50. private Res r ;</P>
  51. <P> Output(Res r)
  52. {
  53.   this.r = r;
  54. }
  55. public void run()
  56. {
  57.   while(true)
  58.   {
  59.    synchronized(r)
  60.    {
  61.     if(!r.flag)
  62.     try{r.wait();}catch(Exception e){};
  63.     System.out.println(r.name + "..." + r.sex);
  64.     r.flag = false;
  65.     notify();
  66.    }
  67.   }
  68. }
  69.   
  70. }
  71. /*
  72. 演示线程同步及线程通信
  73. */
  74. class InputOutputDemo
  75. {
  76. public static void main(String[] args)
  77. {
  78.   //创建资源对象 Input和Output线程共享此资源
  79.   Res r = new Res();
  80.   
  81.   Input in = new Input(r);</P>
  82. <P>  Output out = new Output(r);</P>
  83. <P>  //创建线程t1和t2 并分别启动
  84.   Thread t1 = new Thread(in);
  85.   Thread t2 = new Thread(out);</P>
  86. <P>  t1.start();
  87.   t2.start();</P>
  88. <P>
  89. }
  90. }</P>
复制代码
本人对线程中的wait()和notify()方法不太理解,我的这段代码可以编译但不可以执行,出现异常如下!谁能帮忙看看指点一下!

thread.jpg (62.36 KB, 下载次数: 42)

thread.jpg

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

2 个回复

倒序浏览
您需要登录后才可以回帖 登录 | 加入黑马