Synchronized
Synchronized 可以用在方法上,代表这段代码被锁定
可以放在代码块中
synchronized (被锁定的对象){
被锁定的代码块
}
代码块被锁定,指定的是当一个对象访问这段代码块时,其他对象不能访问该代码块,
处于阻塞状态,但是可以访问其他的代码
当修饰静态方法,和类时对该类的所有对象加锁
懒汉单例中使用的双重检查锁定就是的锁定代码块
private ThreadTest() {}
private static ThreadTest t = null;
// 双重检查锁定
public static ThreadTest getThreadTest(){
if(t == null){
synchronized(ThreadTest.class){
if(t == null){
t = new ThreadTest();
}
}
}
return t;
}