返回目录
上一篇:定时器
在多线程中,synchronized关键字用来保护某个对象,使得这个对象在多个线程之间互斥,从而达到同步的目的。
总结synchronized的使用方法一共有两种:
-
使用对象锁,锁代码块
//锁的是指定对象 public void test3(Object obj) { synchronized (obj) { System.out.println("synchronized"); } }
-
直接声明方法,包括静态和非静态方法
//锁的当前实例对象 public synchronized void test1() { System.out.println("synchronized"); } //锁的是方法所在类对象 public synchronized static void test2() { System.out.println("synchronized"); }
总结:对于被锁对象,在同一时刻中只能被某一个线程执行被锁代码块。