java吧 关注:1,244,961贴子:12,721,973
  • 9回复贴,共1

web环境下,比如说抢票,同一时间多位用户访问同一资源抢夺有

只看楼主收藏回复

web环境下,比如说抢票,同一时间多位用户访问同一资源抢夺有限的票。这个时候可能会出现数据异常,也就是脏读问题。怎么保证每次票数的准确性呢?是加锁进行同步吗?但是这样会不会影响用户体验啊,万一哪个用户网络不太好(不知道会不会影响)或者其他原因,其他用户都得排队等待。所以一般这种对数据有修改的并发环境该怎么保证数据的准确性呢?还有spring环境中是和se一样的操作线程,加🔒保证线程安全的吗


IP属地:江苏来自Android客户端1楼2020-11-20 22:19回复
    这个应该用数据库的隔离级别来控制吗


    IP属地:江苏来自Android客户端2楼2020-11-20 22:30
    回复
      插眼,我也想知道


      IP属地:福建来自Android客户端3楼2020-11-20 23:07
      回复
        1


        IP属地:广东来自Android客户端5楼2020-11-20 23:12
        回复
          cy


          IP属地:江西来自iPhone客户端6楼2020-11-20 23:20
          回复
            Redis incr和decr,因为他单线程,操作成功的就算抢到了


            IP属地:浙江来自Android客户端7楼2020-11-20 23:20
            回复
              你想的太简单了,高并发情况下一般都适将请求发送到消息队列异步调用,还有负载均衡分流请求,不是简单的用锁就能解决的。


              IP属地:江苏来自iPhone客户端8楼2020-11-20 23:22
              收起回复
                这个一般都是要在数据库下手吧 锁行 别的我也想不出太好的解决办法


                IP属地:河北来自iPhone客户端11楼2020-11-20 23:25
                回复
                  cy


                  来自Android客户端14楼2020-11-21 23:20
                  回复