作者: | 来源:互联网 | 2023-10-17 16:58
重量级锁,用于实现同步。(同步是指在多个线程并发访问共享数据时,保证共享数据在同一时刻只被一个线程使用)具体使用形式1、同步方法块锁是Synchronized括号里配置的对象
重量级锁,用于实现同步。(同步是指在多个线程并发访问共享数据时,保证共享数据在同一时刻只被一个线程使用)
具体使用形式
1、同步方法块
锁是Synchronized括号里配置的对象,只作用一个对象,如果两个线程调用同一个类不同对象的同步代码块,这两个线程不需要同步。
public void func(){synchronized(this){}
}
2、普通同步方法
锁是当前实例对象,和同步代码块一样,作用于同一个对象
public synchronized void func(){
}
3、静态同步方法
锁是当前类的Class对象,作用于整个类,两个线程调用同一类的不同对象也会进行同步
public synchronized static func(){
}
4、同步一个类
作用于整个类
public void func(){synchronized (SynchronizedExample.class){}
}