《java多线程编程实战指南 核心篇》读书笔记三
1. 锁的思路: 将多个线程对共享数据的并发访问转换为串行访问,即一个共享数据一次只能被一个线程访问,该线程访问结束后其他线程才能对其进行访问。锁(lock)就是利用这种思路以保障线程安全的线程同步机制。
2. 线程同步机制是一套用于协调线程间的数据访问(Data access)及活动(Activity)的机制,该机制用于保障线程安全以及实现这些线程的共同目标。
java平台中锁的调度策略也包括公平策略和非公平策略,相应的锁就被称为公平锁和非公平锁。内部锁属于非公平锁,而显示锁既支持公平锁又支持非公平锁。
3. 锁的作用: 锁能够保护共享数据以实现线程安全,其作用包括保障原子性,保障可见性和保障有序性。
4. 可重入性(Reentrancy):一个线程在其持有一个锁的时候能否再次(或者多次)申请该锁。如果一个线程有一个锁的时候还能够继续成功申请该锁,那么我们就称该锁是可重入的(reentrant),否则我们就称锁为非可重入的(Non-reentrant)。
5. java平台中的任何一个对象都有唯一一个与之关联的锁,这种锁被称为监视器(Monitor)或者内部锁(Intrinsic Lock).
6. 读写锁: 改进型的排他锁
7. 内存屏障
为了保障线程安全,我们需要使用java线程同步机制,而内存屏障则是java虚拟机在实现java线程同步机制时所使用的具体"工具".
《java多线程编程实战指南 核心篇》读书笔记三相关推荐
- Redis理解内存《Redis开发与运维读书笔记》
文章目录 内存的消耗 内存划分 内存管理 内存优化 内存的消耗 可以使用info memory 查看内存消耗. 内存划分 对象内存 = sizeof(key) + sizeof(value) 应避免使 ...
- 【Redis】《Redis 开发与运维》笔记-Chapter12-开发运维的“ 陷阱”
十二.开发运维的" 陷阱" 1.Linux配置优化之内存分配控制 1)vm.overcommit_memory Linux操作系统对大部分申请内存的请求都回复yes,以便能运行更多 ...
- Redis开发与运维 必备-电子书
Redis开发与运维电子书 fulei出版 链接: https://pan.baidu.com/s/12rlHhOKP7_72GE8a74lN1g 密码: eep2 复制这段内容后打开百度网盘手机Ap ...
- 「Redis开发与运维」读书笔记
第一章 初识Redis Redis的8个重要特性 速度快 内存存储数据 C语言实现 单线程架构,避免多线程竞争问题 Redis源码优化好 基于键值对的数据结构服务器 Redis 值可支持多种数据结构, ...
- <Redis开发与运维>一书阅读笔记记录
文章目录 前言 第1章:初始redis 盛赞redis redis特性 redis使用场景 第2章:API的理解和使用 预备知识 全局命令 数据结构和内部编码 单线程架构 字符串 命令 内部编码 典型 ...
- 百度王一男: DevOps 的前提是拆掉业务-开发-测试-运维中间的三面墙
这是一个创建于 375 天前的主题,其中的信息可能已经有所发展或是发生改变. 由数人云.优维科技.中生代社区联合发起的 系列 Meetup < DevOps&SRE 超越传统运维之道&g ...
- 《Redis开发与运维》读书笔记--初识Redis(一)
目录 盛赞Redis Redis特性 redis使用场景 redis可以做什么? redis不可以做什么? 关于用好redis的两点建议 本章重点回顾 写在前面: 想必在写项目的过程中,我们很多时候都 ...
- 读书笔记:redis开发与运维 基础篇
redis特性 1>速度快:redis所有数据都是存放在内存中,是redis速度快的主要原因,是有c编写,一般来说用c编写的程序距离操作系统近,执行速度更快,非阻塞I/O,使用epoll ...
- Redis开发与运维笔记_1 初识2 API
目录 概述 第1章 初识Redis 1.1 盛赞Redis 1.2 Redis特性 1.3 配置.启动.操作.关闭Redis 第2章 API的理解和使用 2.1 预备 2.1.1 全局命令 2.1.2 ...
- Redis 开发与运维
Getting Start 高性能 性能优势的体现 C语言实现的内存管理 epoll的I/O多路复用技术+IO连接/关闭/读写通过事件实现异步的非阻塞IO TCP协议 单线程架构,不会因为高并发对服务 ...
最新文章
- 揭示生命的奥秘——生物信息学
- 计算机室活动实施方案,微机室活动计划
- 红帽系列linux自行配置本地yum源
- 【DIY】玩转VFD荧光屏(一),自制VFD时钟全资料(原理图+源码+PCB)
- css中background-image背景图片路径设置
- 70% 产品经理都在考虑跳槽?还有哪些你不知道的行业真相
- mysql trim 索引_mysql强大的trim()函数
- WordPress主题Ashade2.0摄影展示 图片展示主题
- mysql执行sql流程_MySQL架构与SQL执行流程
- Python案例:计算softmax函数值
- 整理的一些实用工具网站
- SQL Server分组查询某最大值的整条数据(包含linq写法)
- 有关学习方面的资料如何进行打印
- 微信小程序canvas绘制图片真机不显示问题
- 关于“论文他引次数”、“检索号”及“ESI 高被引论文”的查询方法
- 如何避免自己发出的邮件被误判为垃圾邮件
- 家用路由器AP模式设置
- 基础代谢率、BMI、体脂肪率、肌肉量、体水分率,这些都是什么?
- 【爬虫实战】10应用Python网络爬虫——定向爬取百度百科文字
- 宽带和光纤宽带的区别