简介
在Java中,同步是一种机制,用于控制多个线程对共享资源的访问。通过同步,可以确保在任何给定时刻只有一个线程可以访问共享资源,从而避免竞态条件和数据不一致的问题。
实现方法
级别
方法级
- 使用synchronized修饰方法
public synchronized void method(){
······
······
}代码块级
- 同样是用synchronized来修饰代码块
synchronized (object) {//object 是[[^锁对象
// 同步代码块
}锁对象
- 类似Integer这种不可变的对象是不能用来作为锁对象的
- 一般地,在Java中,应该使用可变的对象作为锁对象,例如使用==
Object类型的实例。可以使用一个特定的对象作为锁,或者使用类的实例对象作为锁,或者使用类的Class对象==作为锁。