代码如下:
   public class SleepQueue {
   //当前休眠队列
   private static ArrayList sleepqueue=new ArrayList();  
   public static boolean Add(Pthread PthreadCur,int milliseconds){
    SleepThread Cur=new SleepThread(PthreadCur,milliseconds);
!@#$$%    //加入队列
    SleepQueue.sleepqueue.add(Cur);
    return true;
    }
  }
public class ReadyQueue {
  public ReadyQueue() {
  }
  private static ArrayList readyqueue = new ArrayList();
}运行到!@#$$%时,readyqueue 增加了元素,sleepqueue没变

解决方案 »

  1.   

    哪里都没有见里有用到ReadyQueue的地方,估计是你眼睛花了吧
      

  2.   

    晕死了,硬是没看懂!!这什么结构呀?往类static属性中添加该类的对象!
      

  3.   

    我用jbuilder监视的,运行!@#$$%之后,readyqueue.size()就增加了一个,而sleepqueue.size()没有变化,实在不懂
      

  4.   

    看看SleepThread中是否有用到readyqueue的add方法;执行完这一句
    SleepQueue.sleepqueue.add(Cur); 
    才会将Cur对象加入到sleepqueue!
      

  5.   

    执行这一句之前,readyqueue.size()=2
    SleepQueue.sleepqueue.add(Cur); 
    执行这一句之后,readyqueue.size()=3我试了运行SleepQueue.sleepqueue.clear();
    readyqueue.size()没有变化
      

  6.   

    问题不在这段代码里面
    在其他的代码里面
    你要好好查查
    是不是在别的地方调用了ReadyQueue.readyqueue 总之不可能往其中加一个结果加到别的地方去了
    你的代码应该仔细的调试一下
    建议你不要用static ArrayList
      

  7.   

    如果不用static ArrayList,那用什么代替呢?
    类似C语言里的全局变量。