插入的数据没有关联性, 为什么需要加锁, 不加锁, 会有什么问题

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕燕燕 2021-09-11 12:29:46

同学,你好!如果不加锁,可能多个线程会抢同一条数据,并插入到数据库中,存储到数据库中的内容可能会有重复值。祝:学习愉快!

  • 提问者 大可计划 #1

    1.他这里, 不同的线程, 解析不同的详情界面, info是不同详情页面的内容, 抢同一条数据, 是指什么数据,
    2.就算是两个线程, 想要保存的info一样的话, 第一个线程拿着锁, 保存了, 第二个线程等到第一个线程放开锁, 一样的info, 还是会存进去吧, 那不就还是会有重复值

    2021-09-11 18:38:41
  • 好帮手慕美 回复 提问者 大可计划 #2

    同学,你好!

    1、并不是会抢同一条数据,多个线程同时操作数据库存储数据,不加锁可能会导致存入的数据不正确

    2、加锁后保证了每次只有一个线程进行写入操作,从而保证了多线程情况下数据的正确性。

    若数据一样是会出现表中有重复数据的,可以在插入数据之前判断数据是否存在,不存在则进行添加

    祝学习愉快!

    2021-09-12 09:57:15
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师