java基础—悲观锁和乐观锁

java基础—悲观锁和乐观锁

悲观锁:

悲观锁总是假设最坏的情况,每次拿数据都认为别人会修改数据,所以要加锁,别人只能等待,直到我释放锁才能拿到锁;数据库的行锁,表锁,写锁都是这种方式,java中的synchtorized和ReentrantLock也是悲观锁的思想

乐观锁:

总是假设最好的情况,每次拿数据都认为别人不会修改数据,所以不会加锁,但是更新的时候,会判断在此期间有没有人修改过,一般基于版本号机制实现

乐观锁适用于读多写少的情况, 即冲突很少发生,如果是多写的情况,应用会不断重试,反而会降低系统性能,这种情况最好用悲观锁,因为等待锁被释放后,可以立即获得锁进行操作

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2353.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C# ACCESS数据库操作类

    这个是针对ACCESS数据库操作的类,同样也是从SQLHELPER提取而来,分页程序的调用可以参考MSSQL那个类的调用,差不多的,只是提取所有记录的数量的时候有多一个参数,这个需要注意一下!推荐:

    2021年12月27日
    40
  • 电脑可以同时安装两个版本的jdk吗_jdk重复安装了怎么办

    电脑可以同时安装两个版本的jdk吗_jdk重复安装了怎么办场景:公司项目使用的jdk为1.7,最近不是很忙,找到一个爬虫系统学习。该系统使用到了jdk1.8的特性,所以Ineed俩版本,开整!!!1.准备两个版本的jdk我的两个jdk路径为:D:\jdk1.7.0_80D:\ProgramFiles\Java\jdk1.8.0_1112.设置两个子JAVA_HOME,一个总设置两个子JAVA_HOME:…

    2022年9月23日
    5
  • 网络安全未来发展前景_十四五国家网络安全规划

    网络安全未来发展前景_十四五国家网络安全规划第1章:中国网络安全行业发展综述1.1网络安全行业概述1.1.1网络安全产业的概念分析1.1.2网络安全产品和服务分类(1)依据主要功能及形态分类(2)依据安全防御生命周期技术能力分类1.2网络安全行业发展环境分析1.2.1行业政策环境分析(1)国际政策(2)国内政策1.2.2行业社会环境分析(1)境内感染网络病毒终端数(2)境内被篡改网站数量(3)境内被植入后门网站数量(4)安全漏洞数量1.2.3行业经济环境分析(1)国内生产总值分析(2)工业增加值分析.

    2022年10月5日
    3
  • php_network_getaddresses: getaddrinfo failed 原因

    php_network_getaddresses: getaddrinfo failed 原因

    2021年11月9日
    49
  • 自学Java开发一般需要多久?

    自学Java开发一般需要多久?自学Java开发一般需要多久?相信有很多想转行或者想学习Java的人都会关注这个问题!那我们今天就来说一下这个问题,具体需要多久呢?这个时间因人而异,毕竟每个人的学习能力和效率都是不同的!打个比方,如果你是零基础,每天学习8小时,基本上每天都按时学习的话,大概需要半年多的时间,就能学的差不多了!如果你本身就会C或C++语言,那么Java对你来说也许会简单许多,学起来自然就快了!下面就给大家简单说一下学习方法,让你尽可能快的学会Java!学习路线:…

    2022年7月8日
    28
  • FRP内网穿透教程「建议收藏」

    FRP内网穿透教程「建议收藏」FRP内网穿透介绍frp是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。为什么使用frp通过在具有公网IP的节点上部署frp服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:客户端服务端通信支持TCP、KCP以及Websocket等多种协议。采用TCP连接流式复用,在单个连接间承载更多请求,节省连接建立时间。代理组间的负

    2025年11月9日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号