From 2226a8769c322fe33b0b9605bc54429320bd424c Mon Sep 17 00:00:00 2001 From: yangzhi <1564340114@qq.com> Date: Wed, 17 Mar 2021 21:14:19 +0800 Subject: [PATCH] =?UTF-8?q?synchronized=E5=85=B3=E9=94=AE=E5=AD=97?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=A4=BA=E4=BE=8B=20=E8=AF=AD=E6=B3=95?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "docs/b-3Java\345\244\232\347\272\277\347\250\213.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/docs/b-3Java\345\244\232\347\272\277\347\250\213.md" "b/docs/b-3Java\345\244\232\347\272\277\347\250\213.md" index e598404..ce3bcb6 100755 --- "a/docs/b-3Java\345\244\232\347\272\277\347\250\213.md" +++ "b/docs/b-3Java\345\244\232\347\272\277\347\250\213.md" @@ -304,7 +304,7 @@ synchronized void method() { **2.修饰静态方法:** 也就是给当前类加锁,会作用于类的所有对象实例 ,进入同步代码前要获得 **当前 class 的锁**。因为静态成员不属于任何一个实例对象,是类成员( _static 表明这是该类的一个静态资源,不管 new 了多少个对象,只有一份_)。所以,如果一个线程 A 调用一个实例对象的非静态 `synchronized` 方法,而线程 B 需要调用这个实例对象所属类的静态 `synchronized` 方法,是允许的,不会发生互斥现象,**因为访问静态 `synchronized` 方法占用的锁是当前类的锁,而访问非静态 `synchronized` 方法占用的锁是当前实例对象锁**。 ```java -synchronized void staic method() { +synchronized staic void method() { //业务代码 } ```