简介

在Java中,同步是一种机制,用于控制多个线程对共享资源的访问。通过同步,可以确保在任何给定时刻只有一个线程可以访问共享资源,从而避免竞态条件和数据不一致的问题。

实现方法

级别

方法级

  • 使用synchronized修饰方法
public synchronized void method(){
······
······
}

代码块级

  • 同样是用synchronized来修饰代码块
	synchronized (object) {//object 是[[^锁对象
    // 同步代码块
}

锁对象

  • 类似Integer这种不可变的对象是不能用来作为锁对象的
  • 一般地,在Java中,应该使用可变的对象作为锁对象,例如使用==Object类型的实例。可以使用一个特定的对象作为锁,或者使用类的实例对象作为锁,或者使用类的Class对象==作为锁。