Synchronize对String加锁解决
Synchronize
尽量,不要使用String常量加锁
会出现死循环问题
new String
可以使用new String加锁
package com.bjsxt.base.sync006;/*** synchronized代码块对字符串的锁,注意String常量池的缓存功能**/
public class StringLock {public void method() {// new String("字符串常量")synchronized (new String("字符串常量")) {try {while (true) {System.out.println("当前线程 : " + Thread.currentThread().getName() + "开始");Thread.sleep(1000);System.out.println("当前线程 : " + Thread.currentThread().getName() + "结束");}} catch (InterruptedException e) {e.printStackTrace();}}}public static void main(String[] args) {final StringLock stringLock = new StringLock();Thread t1 = new Thread(new Runnable() {@Overridepublic void run() {stringLock.method();}}, "t1");Thread t2 = new Thread(new Runnable() {@Overridepublic void run() {stringLock.method();}}, "t2");t1.start();t2.start();}
}
运行
Synchronize对String加锁解决相关推荐
- Synchronize对String加锁
Synchronize 尽量,不要使用String常量加锁 会出现死循环问题 package com.bjsxt.base.sync006;/*** synchronized代码块对字符串的锁,注意S ...
- .net framework4.6项目的dll升级后,未找到方法“System.String.GetPathsOfAllDirectoriesAbove”解决
.net framework4.6项目的dll升级后,未找到方法"System.String.GetPathsOfAllDirectoriesAbove"解决 参考文章: (1). ...
- mysql utf8mb4 错_MYSQL保存特殊字符失败,用编码utf8mb4解决错误 Incorrect string value ...解决方法...
<MYSQL保存特殊字符失败,用编码utf8mb4解决错误 Incorrect string value ...解决方法>要点: 本文介绍了MYSQL保存特殊字符失败,用编码utf8mb4 ...
- Linux MySQl 5.7.17 MySQL ERROR 1366(HY000):Incorrect string value 解决方法
MySQL ERROR 1366(HY000):Incorrect string value,在往数据库中插入中文的时候会出现. 这也就是编码问题,网上大部分都是说设置下配置文件中的设置,而可悲的是在 ...
- python TypeError: not all arguments converted during string formatting 解决
例如: strs=(1,2,3,4) #创建一个集合strs(1, 2, 3,4)>>> print 'strs= %s ' % strsTraceback (most recent ...
- linux mysql 1366_Linux MySQl 5.7.17 MySQL ERROR 1366(HY000):Incorrect string value 解决方法
MySQL ERROR 1366(HY000):Incorrect string value,在往数据库中插入中文的时候会出现. 这也就是编码问题,网上大部分都是说设置下配置文件中的设置,而可悲的是在 ...
- c# 调用c库dll ,char*转string的解决办法
最近由于有个未知的设备需要用到modbus通讯协议,底层需要与PLC通讯,坤跌,PLC啥型号也不清楚封在里面不能拆,前人只留了几个不能运行的QT代码以及不完整的文档.用惯了C#想要重新学QT,真不知猴 ...
- PHP7不能用string类名,解决thinkphp php7 Cannot use ‘String’ as class name as it is reserved...
我有一网站之前用php7运行thinkphp没有什么问题,但是最近发现开启验证码的时候发现有错误 Cannot use 'String' as class name as it is reserved ...
- 升级ambari spark至spark3.0.2 bad substitution 和scala.MatchError: x.x (of class java.lang.String)错误解决
场景描述:由于业务要求想要使用Hudi,而hudi需要spark2.4.5+版本,canal+kafka+sss+hudi 当前版本: hdp3.1.4 hadoop 3.1.0 hive 3.1.0 ...
最新文章
- 文巾解题 19. 删除链表的倒数第 N 个结点
- MySQL等值传播(low!就是一层窗户纸)
- cobertura覆盖率_Cobertura和Maven:集成和单元测试的代码覆盖率
- python socket服务器_记-python socket服务器端四部曲
- Java企业面试算法新得体会之6大数据和空间限制问题6问
- JDK8新特性(二)之接口新增的两个方法
- apulSoft apUnmask for mac(音频放大组件)
- 在玩图像分类和图像分割?来挑战基于 TensorFlow 的图像注解生成!
- Python就业方向都有什么?该如何选择?
- python爬取链家_通过Python爬取链家所有房源和小区信息
- 计算机科学刘培姣,高中物理课堂融入物理学史体现核心素养的必要性
- 美团网手机客户端产品分析
- Go语言-switch case | switch中判断多个值、interface conversion: interface {} is float64, not int
- Java必学的工具库,让你的代码量减少90%
- 字句解 (易經大意 韓長庚)
- Fabric v2.3 下载二进制文件和镜像bootstrap.sh脚本解析
- ME-27(USAF)
- layui表格 列自动适应大小失效
- BZOJ2159 Crash 的文明世界 题解
- ORA-01659: 无法分配超出 1 的 MINEXTENTS (在表空间 DB_ESTATE 中)
热门文章
- C# 中的三个高级参数 params
- hihocoder-1615-矩阵游戏II
- keepalived 安装和配置
- spring mvc+spring + hibernate 整合(二)
- 又拍云递归删除目录及文件
- ASP.NET MVC Tip #31: 给 Master Pages 和 User Controls 传递数据
- 蓝牙BLE ATT剖析(二)-- PDU
- AIC-赤池信息准则、BIC-贝叶斯信息准则
- 编译原理 之 解释器
- C++ Primer 5th笔记(2)chapter 2变量和基本类型