社区
Java EE
帖子详情
方法加锁问题
ansensp
2013-11-29 01:29:27
public void doSomthing(long userId){
......
}
为防止同一用户连续执行该方法而出现并发问题,想通过userId进行加锁,这样既可防止同一用户并发问题,又不影响其他用户, 代码如下:
String myLock = (userId + "").intern();
synchronized(myLock){
....
}
不知这样做好不好,高并发下会不会造成方法区内存溢出? 谢谢。
...全文
377
4
打赏
收藏
方法加锁问题
public void doSomthing(long userId){ ...... } 为防止同一用户连续执行该方法而出现并发问题,想通过userId进行加锁,这样既可防止同一用户并发问题,又不影响其他用户, 代码如下: String myLock = (userId + "").intern(); synchronized(myLock){ .... } 不知这样做好不好,高并发下会不会造成方法区内存溢出? 谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
你用字符串内联,或许可以造出一个共享对象。但是只是解决了并发 方法还是会重复执行,不能解决重复执行出现的重复数据。
PHP+MySQL高并发
加锁
事务处理
问题
解决
方法
主要介绍了PHP+MySQL高并发
加锁
事务处理
问题
解决
方法
,结合实例形式分析了PHP+MySQL事务处理相关操作技巧与注意事项,需要的朋友可以参考下
redisson分布式锁源码笔记
1、详述分布式环境下遇到的
问题
2、redisson可重入锁源码 3、RLock#lock()
方法
源码解析 4、看门狗的作用及实现 5、lua脚本
加锁
逻辑 6、watchdog维持
加锁
7、重入锁在lua脚本中的提现 8、latch.countDown()
方法
源码...
Qt高级系列之8:Qt多线程线程池数据同步机制及文件下载器项目实战
1.带领您深入学习QT5/C++:Qt多线程线程池及数据同步机制 ,多...2.所有章节均有理论知识介绍、接口讲解、实例代码讲解,讲解过程中不断穿插老师在开发过程中遇到的
问题
及解决
方法
(可以下载所有的电子课件与源码)。
详解iOS 多线程 锁 互斥 同步
在iOS中有几种
方法
来解决多线程访问同一个内存地址的互斥同步
问题
:
方法
一,@synchronized(id anObject),(最简单的
方法
) 会自动对参数对象
加锁
,保证临界区内的代码线程安全 @synchronized(self) { // 这段...
jvm---静态
方法
加锁
和非静态
方法
加锁
的区别
静态
方法
加锁
和非静态
方法
加锁
的区别 静态
方法
加锁
:static synchronized是类锁 非静态
方法
加锁
:synchronized是对象锁 对象锁(又称实例锁,synchronized):该锁针对的是该实例对象(当前对象)。...
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章