java学习笔记(十一)深入学习synchronized关键字

本文详细介绍了Java中synchronized关键字的作用,特别是对静态方法和非静态方法的同步效果进行了阐述。在多线程环境下,synchronized确保了方法的独占访问,从而避免了并发访问带来的数据不一致问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

synchronized关键字的作用

静态方法:同一个类中所有被synchronized修饰的静态方法,它们在类范围内是同步的。也就是同一时间只能有一个线程调用他们中的任意一个方法,直到前面的执行完同步静态方法后,才会被再次唤醒,执行相应的静态方法

非静态方法;对于同一个类中的所有synchronized修饰的静态方法。它们在同一个对象上是同步的。当一个线程调用某个同步方法的时候,如果第二个线程在同一对象上调用某个同步非静态方法,那么这个线程将被挂起,直到前面的执行完同步非静态方法后,才会被再次唤醒,执行相应的非静态方法

package com.javaeasy.sync;

public class SyncMethods {
	public synchronized static void synStaticMethod1() {
		System.out.println("这是一个静态同步方法");
	}
	public synchronized static void synStaticMethod2() {
		System.out.println("这是一个静态同步方法");
	}
	public  static void StaticMethod() {
		System.out.println("这是一个静态方法");
}
	public synchronized  void synMethod1() {
		System.out.println("这是一个同步方法");
	}
	public synchronized  void synMethod2() {
		System.out.println("这是一个同步方法");
	}
	public synchronized  void Method() {
		System.out.println("这是一个普通方法");
	}
}
package com.javaeasy.sync;

public class SyncMethodsII {
		public synchronized static void synStaticMethod() {
			System.out.println("这是一个静态的同步方法");
		}

}

静态同步方法

同个类中的静态同步方法的访问规则

   同步静态方法中,需要等线程一完成后,才能执行。

不同类中的静态·同步方法互不影响

多角度理解同步方法

理解同步方法的作用

在多线程环境下,保证变量是由某一个线程独享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值