以感叹号结尾的锁的含义

时间:2019-06-25 10:28:36

标签: ruby-on-rails ruby

我试图在互联网上找到,但可以找到一个很好的解释。在红宝石中以感叹号结尾的锁是什么意思?例如@student.lock!(顺便说一句,我知道lock并发的意思)

1 个答案:

答案 0 :(得分:0)

转到Ruby on Rails网站。点击顶部的“ API”链接。键入“锁定!”进入搜索字段。点击the first result

ActiveRecord::Locking::Pessimistic#lock!

  

锁定!(锁定= true)

     

在此记录上获得行锁。重新加载记录以获得请求的锁。将SQL锁定子句传递给   追加SELECT语句的末尾或为“ FOR UPDATE”传递true   (默认为排他的行锁)。返回锁定的记录。

如果您不清楚行锁是什么,则first half of this article是一个不错的起点。 TL; DR的意思是,行锁可以防止其他一些数据库用户(可能是同一应用程序的另一个连接)修改您正在修改或将要修改的行。