• 读写锁-锁粒度


    • 读写锁
     
    例子:A用户正在读取25号邮件,而B用于试图删除25号邮件。
     
    解决这类问题的方法时并发控制:共享锁(读锁)和排它锁(写锁)
     
    • 锁粒度
    加锁需要消耗资源,包括获得锁、检查锁是否已经被解除、释放锁等。
    在锁和数据的安全性上平衡后,一般都是在行上加锁(row-lock)
     
    • table-lock表锁
    Mysql的基本策略、开销最小的策略,会锁定整张表,当一个用户对表进行增删改(不包括读)等操作时会先获得写锁,会阻塞其他对该表的读写操作,当该表上没有写锁时,其他用户在才可以获得读锁,读锁之间是不互相阻塞的。
    注意:写锁比读锁优先级更高,因此一个写锁清秋可能会插入到读锁队列前面(读锁不能插入到写锁的队列前面)
    • row-lock行锁
    行锁可以带来最大成都的并发处理,同时也带来更大的锁开销
    收藏文章数量从多到少与“把书读薄”是一个道理
  • 相关阅读:
    做了6年开发,工资涨不上去,怎么办?(安晓辉,循循善诱的分析)
    Hello World
    服务治理框架
    Range锁(也即范围锁)
    C# .NET Socket
    Net Core应用,在CentOS上运行
    分布式锁,进程锁,线程锁
    TEMPDB
    学会Git
    Docker
  • 原文地址:https://www.cnblogs.com/use-D/p/9545002.html
Copyright © 2020-2023  润新知