Java中有哪些锁,区别是什么
【1】公平所和非公平所。
公平锁:是指按照申请锁的顺序来获取锁,
非公平所:线程获取锁的顺序不一定按照申请锁的顺序来的。
//默认是不公平锁,传入true为公平锁,否则为非公平锁
ReentrantLock reentrantLock = new ReetrantLock();
【2】共享锁和独享锁
独享锁:一次只能被一个线程所访问
共享锁:线程可以被多个线程所持有。
ReadWriteLock 读锁是共享锁,写锁是独享锁。
【3】乐观锁和悲观锁。
乐观锁:对于一个数据的操作并发,是不会发生修改的。在更新数据的时候,会尝试采用更新,不断重入的方式,更新数据。
悲观锁:对于同一个数据的并发操作,是一定会发生修改的。因此对于同一个数据的并发操作,悲观锁采用加锁的形式。悲观锁认为,不加锁的操作一定会出问题,
【4】分段锁
1.7及之前的concurrenthashmap。并发操作就是分段锁,其思想就是让锁的粒度变小。
【5】偏向锁是指一段同步代码一直被一个线程所访问,那么该线程会自动获取锁。降低获取锁的代价
轻量级锁
重量级锁
【6】自旋锁
自旋锁
TCP和UDP的区别和优缺点
https://blog.csdn.net/xiaobangkuaipao/article/details/76793702
(1)tcp面向链接,UDP无链接
(2)tcp发送的数据是可靠的,无差错的,及时的。udp不能保证这些
(3)tcp只能是一对一的服务,udp可以是一对一,一对多,多对一,多对多。
(4)
Java中有哪些锁,区别是什么相关推荐
- Java中有哪些锁?
学习目标: Java中有哪些锁 学习产出: 1.乐观锁 & 悲观锁 两种锁只是一种概念 乐观锁:乐观锁认为一个线程去拿数据的时候不会有其他线程对数据进行更改,所以不会上锁. 实现方式:CAS机 ...
- 基于Java毕业设计忻府区饭中有豆粮油销售系统源码+系统+mysql+lw文档+部署软件
基于Java毕业设计忻府区饭中有豆粮油销售系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计忻府区饭中有豆粮油销售系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目 ...
- Java中有哪几种锁?分别有什么特点?
锁的七大分类 对于 Java 中的锁而言,一把锁也有可能同时占有多个标准,符合多种分类,比如 ReentrantLock 既是可中断锁,又是可重入锁 根据分类标准我们把锁分为以下 7 大类别,分别是: ...
- Java中的锁-浅析
一.锁的解析 在 Java 中,我们通过 synchronized 关键字来保证原子性,这是因为每一个 Object 都有一个内置的对象锁(Intrinsic Lock),也叫做对象监视器(Monit ...
- Java 多线程 并发 锁 Java线程面试题
1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速.比如,如果一个线程完成 ...
- 结合java中的锁聊聊锁的本质
在操作系统里面,也会遇到什么信号量.互斥量,然后说利用互斥量.信号量可以实现锁的功能,而操作系统提供的原语有又mutex锁 在学习数据库的时候,什么表锁.行锁.读锁.写锁.排它锁.意向锁.meta锁等 ...
- 【java线程】锁机制:synchronized、Lock、Condition
[Java线程]锁机制:synchronized.Lock.Condition 原创 2013年08月14日 17:15:55 标签:Java /多线程 74967 http://www.infoq. ...
- java多线程之锁 -- 偏向锁、轻量级锁、自旋锁、重量级锁
转载至:https://blog.csdn.net/zqz_zqz/article/details/70233767 之前做过一个测试,详情见这篇文章<多线程 +1操作的几种实现方式,及效率对比 ...
- 一篇blog带你了解java中的锁
前言 最近在复习锁这一块,对java中的锁进行整理,本文介绍各种锁,希望给大家带来帮助. Java的锁 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人 ...
最新文章
- 设计模式笔记(9)---组合模式(结构型)
- 零预算如何获得 620 万 PV 和 144,920 个粉丝
- C语言srand((unsigned)time(NULL))…
- 457. 括号匹配二
- HTTP协议详细介绍~超详细
- 漫画:80 端口争夺战
- 一大早,分享一个好消息
- 如何写毕业论文的参考文献?
- matplotlib实战(绘制电学实验中的改装表校准线)
- Android CameraX的基本使用
- ssh框架简单练习----------个人信息管理系统的设计与实现
- C++ 逻辑与或非 逻辑与逻辑或 逻辑非
- 如何使用CK-S610-A01擦写RI-TRP-DR2B-40玻璃管标签的数据信息
- 云服务器及其存储性能测试方法
- Windows RDS远程会话服务
- 排毒一年,长寿十年,排出毒素,一身轻松 要美容 先排毒
- 2019河南省第十二届ACM大学生程序设计竞赛参赛感
- Mysql的分布式(XA)真面目
- 模拟登陆爬取大学智慧校园的成绩单
- swi prolog 和java_在Java和SWI Prolog之间连接 - java