synchronized 几种使用方式

news/2024/9/21 22:45:45

同步方法

由于Java的每个对象都有一个内置锁,当 synchronized 关键字修饰方法时,内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态

public class Test{/*** 这种方式是 对象锁。普通实例方法默认同步监视器就是this,即调用该方法的对象*/public synchronized void methodA(){}/*** 这中方式是 类锁。synchronized加锁的对象为当前静态方法所在类的Class对象*/public synchronized static void methodB(){}
}

同步代码块

synchronized 关键字修饰的语句块会自动被加上内置锁,从而实现同步

public class Test{/*** 这种方式是 类锁*/public void methodC(){synchronized(Test.class){}}/*** 这种方式是 对象锁。this表示是对象锁*/public void methodD(){synchronized(this){}}/*** JVM全局常量锁。需要考虑在其它方法中互斥问题*/public void methodE(String param){synchronized(param.intern()){}}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/63130.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

格林公式7

例1 计算积分 \[I=\int_Cx^2ydx-xy^2dy, \]其中C是上半圆 \(\begin{aligned} & \text{ }x^2+y^2=a^2,y\geqslant0,\text{ }\\ & \end{aligned}\) 逆时间方向 \[\begin{aligned} & \text{ }x^2+y^2=a^2,y\geqslant0,\text{ }\\ & \end{aligned} \]考虑到上半…

9.21 abc372f

容易发现平移操作,都是 \(to\) 向左平移。然后更新完了过后,\(x\) 再左移。 当然 dp 数组整体是左移的。 本题一个重点就是,假设整个 dp 不动,让我们的操作反着动。

基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,节点消耗能量

1.算法仿真效果 matlab2017b仿真结果如下(完整代码运行后无水印):本程序系统是《m基于matlab的AODV,leach自组网网络平台仿真,对比吞吐量,端到端时延,丢包率,剩余节点个数,节点消耗能量》的的升级。升级前原文章链接增加了运动节点的路由测试,包括定向运动,随机运动,静止…

笛卡尔坐标张量简介7

张量(tensor) 这一术语最初是用来描述弹性介质各点应力状态的,后来发展成为力学和物理学的一个有力数学工具,目前力学方面的理论性文献都不同程度地这用了这一工具 由坐标原点和三条不共面的标架直线构成的坐标系称为直线坐标系,如果三标架直线上的单位尺度相同,称为笛卡…

尝试RVC音色克隆团长音色

前言 昨晚玩剑网3突发奇想,把团长声音克隆下来,利用语音喵制作成语音DBM。 这样不管团长开不开团,打团也能有团长声音听了诶嘿嘿。 于是当场关闭游戏声音录了打本的素材,本文就边做边记录。 下载 在B站找到了这个教程: 【你的声音,现在是我的了!】https://www.bilibili.…

隐私保护体系下网络威胁情报共享的研究现状和方案设计

来源:http://netinfo-security.org/article/2024/1671-1122/1671-1122-24-7-1129.shtml威胁情报 网络威胁情报是关于网络中正在进行的或潜在的恶意活动信息,涵盖但不限于特定的恶意软件样本、恶意IP地址、钓鱼电子邮件信息、黑客组织的入侵行为等内容,对于提前感知预警、防范…

Logisim-013-◇汉字显示

转码在线工具地址 https://www.23bei.com/tool/54.html#仓库地址 https://gitee.com/gitliang/logisim-to-cpu

spring6.1在java17环境下使用反射

引包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId><version>3.3.4</version> </dependency> 反射代码编写简单的反射方法,如下所示 package com.lw.reflect.c…