![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
Eternal_yys
101 010 000Java
展开
-
探讨多线程数量的选择
文章目录1. 操作系统相关知识概述2. 使用多线程的目的3. 如何利用多线程提升CPU和IO的综合利用效率4. 理论上如何创建合适数量的线程1. I/O密集型2. CPU密集型5. 实际中线程数的分析 1. 操作系统相关知识概述 首先介绍一下操作系统中CPU和核心数的概念,在每个计算机中,单核或者多核都是针对单个CPU而言,即这个多核或者单核已经集成在CPU内部了,不要理解成每个CPU中只有一个核...原创 2019-11-25 12:51:24 · 1125 阅读 · 0 评论 -
Future类之案例上手解析
文章目录1. 线程池submit方法解析(Future接口)2. FutureTask类1. API概览2. 简单使用栗子3. 实现最优版的烧水泡茶3. CompletableFuture类1. 异步化2. API概览3. 如何创建CompletableFuture对象 之前在线程池的使用时,已经了解到当提交的任务需要获取返回值的时候,就需要用到submit这个方法进行任务的提交,而不是execu...原创 2019-11-18 15:25:10 · 248 阅读 · 0 评论 -
并发无锁工具类——原子类
文章目录1. 原子类的简单运用和原理1. 用原子类来解决简单的原子性问题2. 无锁方案的实现原理3. 案例具体细节解释4. Java中实现CAS的源码⭐2. 原子类概览1. 原子化的基本数据类型2. 原子化的对象引用类型 1. 原子类的简单运用和原理 首先回顾一下经典的累加器的案例: class My { public int count = 0; public void run(...原创 2019-11-05 08:39:57 · 230 阅读 · 0 评论 -
详解Java内存模型和volatile关键字
详解Java内存模型和volatile关键字 文章目录详解Java内存模型和volatile关键字一.Java内存模型1. CPU高速缓存2. Java对应的内存模型(JMM)1. 内存模型2. 缓存不一致问题二.并发编程三大问题1.原子性2.可见性3.有序性指令重排序三.Java中如何保证线程安全1. 原子性2. 可见性1. volatile保证可见性2. 普通变量不能保证可见性的原因:3. 其...原创 2019-09-02 17:14:30 · 434 阅读 · 0 评论 -
互斥锁——解决原子性问题
互斥锁 文章目录互斥锁1. 线程不安全的三大原因1.三大特性问题举例1. 原子性:2. 可见性3. 有序性2. Java解决有序性和可见性的方案3. 互斥锁——解决原子性问题1. Long变量在32位机器上的问题2. 互斥的定义3. Java提供的互斥锁:synchronized4. 超典型的银行转账问题1. 保护没有关联的多个资源2. 保护有关联关系的多个资源1. 误区方式2. 同一把锁方式3....原创 2019-09-22 20:58:23 · 376 阅读 · 0 评论