摘要:
关于IllegalMonitorStateException异常:api中的解释publicclassIllegalMonitorStateExceptionextendsRuntimeException抛出的异常表明某一线程已经试图等待对象的监视器,或者试图通知其他正在等待对象的监视器而本身没有指定监视器的线程。从以下版本开始:JDK1.0另请参见:Object.notify(),Object.notifyAll(),Object.wait(),Object.wait(long),Object.wait(long,int),序列化表格也就是当前的线程不是此对象监视器的所有者。也就是要在当前线 阅读全文
摘要:
一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的 权限,在java里边就是拿到某个同步对象的锁(一个对象只有一把锁);如果这个时候同步对象的锁被其他线程拿走了,他(这个线程)就只能等了(线程阻 塞在锁池等待队列中)。取到锁后,他就开始执行同步代码(被synchronized修饰的代码);线程执行完同步代码后马上就把锁还给同步对象,其他 在锁池中等待的某个线程就可以拿到锁执行同步代码了。这样就保证了同步代码在统一时刻只有一个线程在执行。众所周知,在Java多线程编程中,一个非常重要的方面就是线程的同步问题。关于线程的同步,一般有以下解决方法:1. 在需要同步的方法的 阅读全文