千家信息网

数据中的锁有哪些类型

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"数据中的锁有哪些类型"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 悲观锁悲观锁
千家信息网最后更新 2026年11月03日数据中的锁有哪些类型

本篇内容介绍了"数据中的锁有哪些类型"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1. 悲观锁

悲观锁指对数据被外界修改持保守态度,认为数据很容易就会被其他线程修改,所以在数据被处理前先对数据进行加锁,并在整个数据处理过程中,使数据处于锁定状态。悲观锁主要分为共享锁和排他锁1. 共享锁【Shared lock】又称为读锁,简称S锁。顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。2. 排他锁【Exclusive lock】又称为写锁,简称X锁。顾名思义,排他锁就是不能与其他锁并存,如果一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获取排他锁的事务是可以对数据行读取和修改。例如:java中的synchronized关键字、接口Lock的实现类、mysql的select...for update等

2. 乐观锁

乐观锁是相对悲观锁来说的,它认为数据在一般情况下不会造成冲突,所以在访问记录前不会加排它锁,而是在进行数据提交更新时,才会正式对数据冲突与否进行检测。例如:使用数据版本(Version++)记录机制实现、使用时间戳、java中Atomic的CAS等

3. 公平锁

公平锁表示线程获取锁的顺序是按照线程请求锁的时间早晚来决定的,也就是最早请求锁的线程将最早获取到锁例如:ReentrantLock pairLock = new ReentrantLock(true);

4. 非公平锁

非公平锁表示线程获取锁的顺序不一定是先到先得。例如:ReentrantLock unpairLock = new ReentrantLock(false)。如果构造函数不传递参数,则默认是非公平锁。

5. 独占锁

独占锁是任何时候都只有一个线程能得到锁。例如:Java的ReentrantLock

6. 共享锁

共享锁是可以同时由多个线程持有,它允许一个资源可以被多线程同时进行读操作。例如:ReentrantReadWriteLock的读锁

7. 可重入锁

可重入锁又名递归锁,是指在同一个线程在外层方法获取锁的时候,在进入内层方法会自动获取锁。原理是在锁内部维护一个线程标示,用来标示该锁目前被哪个线程占用,然后关联一个计数器。一开始计数器值为0,说明该锁没有被任何线程占用。当一个线程获取了该锁时,计数器的值会变成1,这时其他线程再来获取该锁时会发现锁的所有者不是自己而被阻塞挂起。例如:public sychrnozied void test() {    xxxxxx;    test2();}public sychronized void test2() {    yyyyy;}

8. 自旋锁

自旋锁是线程获取锁的时候,如果锁被其他线程持有,则当前线程将循环等待,直到获取到锁。

"数据中的锁有哪些类型"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

线程 数据 悲观 事务 时候 类型 乐观 顾名思义 内容 同时 多个 就是 情况 方法 时间 是在 更多 知识 计数器 过程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网黑科技 互联网高科技 互联网科技公司起名 互联网科技保险 互联网是不是新科技 互联网科技与金融科技 亿策互联网科技 哈尔滨新华互联网科技 深圳前海聚择互联网科技有限公司 随着互联网科技发展 佳云科技和互联网广告 上海宁丞科技互联网 阿大互联网科技有限公司 新兴科技互联网创新大赛颁奖典礼 互联网金融科技公司的优势 上海互联网科技公司ppt 广西科技产业互联网是什么 美国五大互联网科技公司市值多少 东风日产互联网科技公司叫什么 互联网 科技节活动 微视频大赛 互联网科技公司简介 山东特亿宝互联网科技有限公司 美国互联网保险保险科技 小马过河互联网科技 福州新华互联网科技学校 知乎 随着互联网科技发展 杭州壁岐互联网科技有限公司 企晟互联网信息科技有限公司 浙南科技城互联网大厦招聘 互联网安防科技感
0