社区
Java EE
帖子详情
方法加锁问题
ansensp
2013-11-29 01:29:27
public void doSomthing(long userId){
......
}
为防止同一用户连续执行该方法而出现并发问题,想通过userId进行加锁,这样既可防止同一用户并发问题,又不影响其他用户, 代码如下:
String myLock = (userId + "").intern();
synchronized(myLock){
....
}
不知这样做好不好,高并发下会不会造成方法区内存溢出? 谢谢。
...全文
381
4
打赏
收藏
方法加锁问题
public void doSomthing(long userId){ ...... } 为防止同一用户连续执行该方法而出现并发问题,想通过userId进行加锁,这样既可防止同一用户并发问题,又不影响其他用户, 代码如下: String myLock = (userId + "").intern(); synchronized(myLock){ .... } 不知这样做好不好,高并发下会不会造成方法区内存溢出? 谢谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
linhua11
2013-11-29
打赏
举报
回复
intern后应该是放在java stack里面的,一般stack容量不会很大。 如果多的话,还是会出StackOverflow吧, 建议评估一下intern的string 实例数量, 然后设置一个合适的stack大小
teemai
2013-11-29
打赏
举报
回复
不会内存溢出的。
其实我是真性情
2013-11-29
打赏
举报
回复
并发处理公共资源的时候都是用同步的,不会造成你当心的方法区内存溢出
zhuweisyyc
2013-11-29
打赏
举报
回复
你用字符串内联,或许可以造出一个共享对象。但是只是解决了并发 方法还是会重复执行,不能解决重复执行出现的重复数据。
基于全局目录的集中型数据库分布式
加锁
仿真.pdf
#资源达人分享计划#
jvm---静态
方法
加锁
和非静态
方法
加锁
的区别
静态
方法
加锁
和非静态
方法
加锁
的区别 静态
方法
加锁
:static synchronized是类锁 非静态
方法
加锁
:synchronized是对象锁 对象锁(又称实例锁,synchronized):该锁针对的是该实例对象(当前对象)。synchronized是对类的当前实例(当前对象)进行
加锁
,防止其他线程同时访问该类的该实例的所有synchronized块,注意这里是“类的当前实例”, ...
java给带返回值的静态
方法
加锁
在Java中为带返回值的静态
方法
加锁
在多线程编程中,
加锁
是一个常用的手段,用于确保数据的一致性和线程安全。尤其是在访问共享资源时,合理的锁策略显得尤为重要。本文将介绍如何在Java中为带返回值的静态
方法
加锁
,同时通过类图和饼状图来帮助理解相关概念。
加锁
的必要性 当多个线程并发访问共享资源时,可能会导致数据的不一致性。例...
线程执行任务给run
方法
加锁
结果演示以及解决并发死循环
问题
的内容总结
给线程任务run
方法
加锁
导致结果,以及线程通信死循环
问题
解决
java多线程调用静态
方法
_java多线程,静态
方法
加锁
后,调用该
方法
会影响其它
方法
吗?...
从一个
问题
说起一直想要把一些学习历程和感悟记录下来,却没有静下心来好好思考一下,今天,就从同学问到的一个
问题
开始,对同一个类的静态
方法
加锁
后,调用该
方法
,其他
方法
的调用会受到影响吗?对象锁与类锁java中每一个对象都持有一把锁–monitor,monitor在操作系统中被称为管程,也可翻译为监视器,java中的monitor其实是对操作系统中monitor的一种实现(类似于接口与实现)。对象锁和类...
Java EE
67,549
社区成员
225,860
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章