您的位置:首页 >> 编程开发 >> Java >> J2SE >> 正文
RSS
 

Java之多线程(2)

http://www.rdxx.com 05年07月24日 21:14 JR 我要投稿

关键词: 多线程 , Java , 线程

          print("FULL");
          //如果有线程等待,则不打印“NO LONGER FULL”这句话
          fifo.waitWhileFull();
          print("NO LONGER FULL");
        }
      }
    }
    catch (InterruptedException ix) {
      return;
    }
  }

  //此方法用于检测内容是否为空
  private static void emptyCheck(ObjectFIFO fifo) {
    try {
      // 同步化方法允许条件仍然为true时打印信息
      synchronized (fifo) {
        while (true) {
          //调用waitUntilEmpty()方法,判断数组中的内容是否为空
          fifo.waitUntilEmpty();
          //如果为空则打印此句
          print("EMPTY");
          //等待数组中的内容直到空的时候
          fifo.waitWhileEmpty();
          //如果不为空则打印“NO LONGER EMPTY”
          print("NO LONGER EMPTY");
        }
      }
    }
    catch (InterruptedException ix) {
      return;
    }
  }
  
  //此方法用于从数组中取出数据
  private static void consumer(ObjectFIFO fifo) {
    try {
      print("just entered consumer()");
      //从数组中取出三个数据
      for (int i = 0; i < 3; i++) {
        synchronized (fifo) {
          //调用remove()方法,返回obj对象
          Object obj = fifo.remove();
          //打印取出的对象
          print("DATA-OUT - did remove(), obj=" + obj);
        }
        //休眠3秒

 
 
标签: 多线程 , Java , 线程 打印本文
 
 
  相关资讯
RSS
 
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站