JAVA的synchronized写法
Posted sunshine106
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA的synchronized写法相关的知识,希望对你有一定的参考价值。
使用关键字synchronized的写法比较多,常用的有如下几种,代码如下:
public class MyService { synchronized public static void testMethod1() { } public void testMethod2() { synchronized(MyService.class) { } } synchronized public void testMethod3() { } public void testMethod4() { synchronized(this) { } } public void testMethod5() { synchronized("abc") {} } }
上面的代码中出现了3中类型的锁对象:
(A) testMethod1() 和testMethod2()持有的锁是同一个, 即MyService.java对应Class类的对象。
(B) testMethod3()和testMethod4()持有的锁是同一个,即MyService.java类的对象。
(C) testMethod5()持有的锁是字符串abc。
说明 testMethod1() 和testMethod2()是同步关系,testMethod3()和testMethod4()是同步关系,A和C之间是异步关系,B和C之间是异步关系,A和B之间是异步关系。
以上是关于JAVA的synchronized写法的主要内容,如果未能解决你的问题,请参考以下文章