V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vemier
V2EX  ›  程序员

高并发情况下如何保证检查并修改操作是线程安全的

  •  
  •   vemier · 2021-09-07 16:55:23 +08:00 · 1612 次点击
    这是一个创建于 1174 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如果这个检查操作比较复杂的话,有什么比较好的解决方案吗
    7 条回复    2021-09-07 17:26:30 +08:00
    fmumu
        1
    fmumu  
       2021-09-07 17:07:30 +08:00
    CAS 乐观锁
    mightofcode
        2
    mightofcode  
       2021-09-07 17:12:19 +08:00
    你的并发有多大?
    vemier
        3
    vemier  
    OP
       2021-09-07 17:17:54 +08:00
    @fmumu 查询条件比较复杂,比如有 join 查其他表的情况,这种可以用 CAS 吗
    vemier
        4
    vemier  
    OP
       2021-09-07 17:20:17 +08:00
    @mightofcode 只是想讨论下这种情况怎么解决,感觉某些业务场景下会有这种问题。
    huang119412
        5
    huang119412  
       2021-09-07 17:21:05 +08:00   ❤️ 1
    parallel > lock free(CAS) > synchronized > AQS
    wellsc
        6
    wellsc  
       2021-09-07 17:24:02 +08:00
    五楼很全了
    mightofcode
        7
    mightofcode  
       2021-09-07 17:26:30 +08:00   ❤️ 1
    绝大部分情况下加锁就够了,关键是锁不能写得太烂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2168 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:12 · PVG 00:12 · LAX 08:12 · JFK 11:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.