Skip to content

同步方法是一种简化线程同步的机制,它可以确保在同一时间只有一个线程能够访问被标记为同步的方法。当一个线程进入同步方法时,它会自动获取该方法所属对象的锁,并且其他线程必须等待该线程释放锁后才能继续执行。 要声明一个同步方法,只需在方法声明中使用关键字 synchronized 即可。例如: public synchronized void synchronizedMethod() { // 同步代码块 } 上述代码中,synchronizedMethod() 方法被声明为同步方法。当一个线程调用这个方法时,它将获取当前实例(或类)的锁,并执行同步代码块。其他线程将被阻塞,直到该线程释放锁。 需要注意的是,同步方法的锁是基于对象级别的。也就是说,如果多个线程同时访问不同的对象的同步方法,它们之间不会相互影响,因为每个对象都拥有自己的锁。 此外,还可以使用静态同步方法来对类级别的资源进行同步。静态同步方法使用 static synchronized 关键字修饰,如下所示: public static synchronized void synchronizedStaticMethod() { // 同步代码块 } 这样做将使得所有调用该静态同步方法的线程都需要获取该类的锁,确保在同一时间只有一个线程能够执行该方法。