Java中的监视器是用来同步访问共享资源的,每个对象都拥有一个监视器。当一个线程尝试访问一个被另一个线程独占的共享资源时,它需要获取该资源所属对象的监视器。如果该资源所属对象的监视器已经被其他线程获取,该线程就会被阻塞,直到获得监视器才能继续执行。在这个过程中,如果线程没有正确地获取和释放监视器,就会抛出java.lang.IllegalMonitorStateException异常。其中一个常见原因是,在调用wait()、notify()、notifyAll()方法之前,没有使用synchronized关键字锁定资源所属对象。因为这些方法只能在已经获得锁的情况下被调用,否则会抛出IllegalMonitorStateException异常。
上一篇:按会话显示数据
下一篇:安徽域名网址注册查询系统