java synchronized 关键字详解
Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块时,另一个线程仍然可以访问该object中的非加锁代码块。 一、synchronized同步方法 1.synchronized 同步方法,为对象锁 public class ExceptionReleaseLock { public synchronized void testLockException(){ if (Thread.currentThread().getName().equals("A")){ System.out.println("线程名字为:"+Thread.currentThread().getName()+" 开始运行时间:"+System.currentTimeMillis()); for(int i=0;i<200;i++){ while(i>20){ System.out.println("i="+i); Integer.parseInt("abcd"); } } }else{ System.out.println