首页
开源软件
问答
博客
翻译
资讯
Gitee
众包
活动
专区
源创会
高手问答
开源访谈
周刊
公司开源导航页
登录
注册
资讯
软件
博客
动弹
专区
问答
活动
工具
培训
APP
Gitee
新媒体
OSC 直播栏目
技术领航
OSC 公众号
硬核 + 嬉笑怒骂
OSC 微博
技术圈大 V 出没
OSC 视频号
AI 百科
OSC 今日头条
微头条显行业百态
LFOSSA 公众号
LF 开源软件学园
模力方舟公众号
大模型托管平台
Gitee 服务号
研发管理解决方案
登录
注册
java并发编程(四): 基础构建模块
<>读书笔记:基础构建模块
作者:
ihaolin
java并发编程(四): 基础构建模块
分享
复制链接
README badge(
)
社交分享
微信
QQ
微博
ihaolin
2015/03/11 16:32
引用来自“god_share”的评论
看了你写的东西,整理的挺好,但是想问问你的理解。比如:1.修改某个数据的时候,多线程情况下,如果保证数据完整性,2.怎么来合理的使用synchronized,3.并发触及竞态条件,大多少数是先判断后更新问题。比如说订单号,最有代表行的就是库存。怎么合理的利用,来提高效率,概念性的东西,我也明白一些,就是到实地用的时候,不知道怎么用?请指点一下。
你好,个人觉得这些起始都是一些针对并发操作的一些策略,你可以自己使用synchronized关键字实现,并发锁工具如Lock,Atomic等也能保证线程安全,或者一些并发的数据结构如ConcurrentHashMap等,对于你说的库存变化的话,则是与事务相关,比如用户成功下单后才减掉库存,即下单+库存减小是原子的,至于多个用户对同一个商品下单减少库存时,这个update操作在数据库中应该就能保证记录的一致性,比如InnoDB的行锁,update一行时就对该行加上锁,就能防止库存不合理。 个人觉得在开发一般的业务时,可能涉及的并发会比较少,不是很显而易见,但很多并发问题都被封装在了你用的某些数据结构,或者API中,比如很多开源框架里就会有很多并发的处理,需要多去体会才能深刻理解,这个网站就是专门的并发相关的文章http://ifeve.com/
回复
举报
回复 @
{{ emoji.type }}
{{emojiItem.symbol}}
评论用户
推荐博客
SQLShift 全新上线:Oracle→OceanBase 迁移利器
爱可生开源社区
·
昨天 14:54
0 评论
携手创未来,“HarmonyOS 协同·创新”技术沙龙在济南顺利举办
肖滢
·
昨天 13:23
0 评论
Dora SSR x AI x Blockly 低科技和高科技的碰撞
IppClub
·
昨天 11:14
0 评论
千亿级打点PV的成本治理实践
百度Geek说
·
昨天 11:09
1 评论
Dora SSR x Blockly—这种感觉我从未拥有
IppClub
·
昨天 11:07
0 评论
从架构原理到落地实践:Apache SeaTunnel×Cloudberry数据集成全解读
Apache SeaTunnel
·
前天 18:30
0 评论
LFOSSA 人才激励计划 2025春季正式启动!6类开源奖学金开放申请!
OSC 培训
·
前天 17:49
0 评论
关税大战下,最受伤的企业出现了
炒蚕豆吃蹦豆
·
前天 16:30
1 评论
大数据是不是凉了?
Databend
·
前天 15:51
0 评论
Devin 发布 DeepWiki,2 星的项目直接装出万星的气场
Bytebase
·
前天 15:15
0 评论
删除一条评论
评论删除后,数据将无法恢复
取消
确定
顶部
引用来自“god_share”的评论
看了你写的东西,整理的挺好,但是想问问你的理解。比如:1.修改某个数据的时候,多线程情况下,如果保证数据完整性,2.怎么来合理的使用synchronized,3.并发触及竞态条件,大多少数是先判断后更新问题。比如说订单号,最有代表行的就是库存。怎么合理的利用,来提高效率,概念性的东西,我也明白一些,就是到实地用的时候,不知道怎么用?请指点一下。