Java并发编程艺术阅读笔记(一)
Java并发编程艺术阅读笔记(一)
1.什么是上下文切换
CPU通过时间片分配算法循环执行任务,执行完一个任务的时间片后就会切换到下一个任务。但是在切换任务之前会保存上一个任务的状态,在切换回该任务,会重新加载该任务的状态。这种状态的保存和加载称为上下文切换。
2.并发一定会比串行执行快吗?
不一定,因为线程存在创建和上下文切换的开销
3.如何减小上下文切换的开销?
- 无锁并发编程:不给数据加锁,而是把数据通过哈希算法分段,将各段分给各线程处理。
- CAS算法:使用Atmoic包下的CAS算法,而不需要加锁。
- 使用最少线程:避免创建不需要的线程。
- 协程:在单线程里完成多任务的调度,并且在单线程里维持多个任务的调度。
4.如何避免死锁?
- 避免一个线程同时获取多个锁。
- 避免一个线程在锁内同时占用多个资源,尽量保证每个锁只占用一个资源。
- 尝试使用定时锁,使用lock.tryLock(timeout)来替代使用内部锁机制。
- 对于数据库锁,加锁和解锁必须在一个数据库连接里,否则会出现解锁失败的情况。
Java并发编程艺术阅读笔记(一)相关推荐
- Java并发编程艺术学习笔记(五)
Java并发编程艺术学习笔记(五) Java并发容器和框架 Java为开发者也提供了许多开发容器和框架,可以从每节的原理分析来学习其中精妙的并发程序. 一.ConcurrentHashMap的实现原理 ...
- Java并发编程艺术----读书笔记(二)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a724888/article/details/64214595 java并发编程艺术2 jav ...
- Java 并发编程艺术 读书笔记
第 1 章 并发编程的挑战 1.1.3 如何减少上下文切换 减少上下文切换的方法有无锁并发编程.CAS 算法.使用最少线程和使用协程. 无锁并发编程.多线程竞争锁时,会引起上下文切换,所以多线程处理数 ...
- JAVA并发编程艺术读书笔记(1,2章节)
第一章 并发编程的挑战 为什么要使用并发编程? 主要是为了更有效地利用资源.即使是单核的CPU也可以多线程执行程序,多线程实际上是CPU分配时间片给各个线程,因为时间片非常短,所以看起来就像在同事执行 ...
- Java并发编程艺术读书笔记
1.多线程在CPU切换过程中,由于需要保存线程之前状态和加载新线程状态,成为上下文切换,上下文切换会造成消耗系统内存.所以,可合理控制线程数量. 如何控制: (1)使用ps -ef|grep appn ...
- java并发编程艺术——基础篇
这篇文章目的是为了总结一下这段时间看<java并发编程艺术>学到的东西,尝试用自己的话说出来对java多线程的理解和使用. 一.什么是多线程,为什么要用多线程,多线程带来的挑战 多线程定义 ...
- 【java并发编程艺术学习】(一)初衷、感想与笔记目录
不忘初心,方得始终. 学习java编程这么长时间,自认为在项目功能需求开发中没啥问题,但是之前的几次面试和跟一些勤奋的或者小牛.大牛级别的人的接触中,才发现自己的无知与浅薄. 学习总得有个方向吧,现阶 ...
- 极客时间《Java并发编程》学习笔记
该领域是跟着"极客时间"平台的课程<Java并发编程>入门的,讲师是王宝令.说实话,这个领域如果抱着大部头的书就啃的话,由于缺少实践很难会建立一个体系,即不知道为什 ...
- java并发编程实践 读书笔记_Java - 并发编程实践(读书笔记)
[注] 同步机制保证:1)原子性 2)内存可见性: Volatile变量只能保证:1)可见性: - 恰当的同步,同步的弱形式,确保对一个变量的更新以可预见的方式告知其他线程. [注] 用锁来协调访问变 ...
最新文章
- 【牛客网】安置路灯 C++
- 一个文件下载的工具类
- vue 相关技术文章集锦
- 一文看懂机器视觉工业相机与普通相机的区别
- java多线程的基本实现方式与示例
- oracle 二进制与运算,Oracle怎么操作进行二进制的比对
- 新手开发记录:把ListView、Adapter的逻辑捋顺,做一个微博热搜吧
- 【易语言界面开发系列教程之(EX_UI使用系列教程--EX组件(一键换肤))】
- Windows系统怎么将dmg文件转换为iso格式
- Android之布局详解
- 用continue计算100以内奇数和_Python入门19break和continue
- UniApp设置APP图标配置,不自动生成所有图标问题
- 论文的中期报告怎么写?
- 将坐标系统保存为一个文件.prj
- 致敬mentohust,路由器使用Socket认证华科校园网
- 怎么预防服务器的常见攻击
- zblog添加html标题出错,ZBLOG模板修改的一些技巧小结
- 计算机毕业设计SSM大学生体检管理系统【附源码数据库】
- Origin 如何输出高清图片
- vue-router(路由)详细教程