本帖最后由 wave900309 于 2013-03-15 15:33:13 编辑

解决方案 »

  1.   

    http://www.ticmy.com/?p=110这主要就是int和Integer的问题。
      

  2.   

    count--;
    Thread.sleep(((int) Math.random() + 1) * 1000);
    count.notifyAll();由于做了自减操作,Integer 作了自动拆箱,自减完成后又自动装箱了,因此在 count-- 之后的 count 与之前的 count 不是同一个对象了,所以在 notifyAll 时会抛出无效的监视器状态异常。
      

  3.   

    wrapper class都是final的嘛,换言之immutable,不同值的两个对象必定是两个不同的对象