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

Java之多线程(2)

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

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


    System.out.print(sb);
  }
}


SimpleObjectFIFOTest.java
public class SimpleObjectFIFOTest
    extends Object {
  public static void main(String[] args) {
    try {
      SimpleObjectFIFO fifo = new SimpleObjectFIFO(5);
      fifo.printState();

      fifo.add("S01");
      fifo.printState();

      fifo.add("S02");
      fifo.printState();

      fifo.add("S03");
      fifo.printState();

      Object obj = fifo.remove();
      System.out.println("just removed obj=" + obj);
      fifo.printState();

      fifo.add("S04");
      fifo.printState();

      fifo.add("S05");
      fifo.printState();

      fifo.add("S06");
      fifo.printState();
    }
    catch (InterruptedException x) {
      x.printStackTrace();
    }
  }
}

    下面再看一个更好的实现方法,此方法在上一方法上进行了修改
ObjectFIFO.java
public class ObjectFIFO
    extends Object {
  
  //声明一对象数组
  private Object[] queue;
  //数组的初始容量
  private int capacity;
  //数组的当前长度
  private int size;
  //要添加的位置
  private int head;
  //要删除的位置
  private int tail;

  public ObjectFIFO(int cap) {
    //实例化此类,并同时传入数组容量
    capacity = (cap > 0) ? cap : 1;
    //势力化对象数组
    queue = new Object[capacity];
    //添加的位置为0
    head = 0;
    //删除的位置为0
    tail = 0;
    //内容长度为0
    size = 0;
  }
  
  //得到数组的容量
  public int getCapacity() {
    return capacity;
  }

  //得到数组中当前的长度(内容)
  public synchronized int getSize() {
    return size;
  }

  //判断数组是否为空
  public synchronized boolean isEmpty() {

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



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