并发
文章平均质量分 89
廷达罗斯猎犬
这个作者很懒,什么都没留下…
展开
-
并发-Executor线程池原理与源码解读
并发-Executor线程池原理与源码解读线程协程线程池线程池介绍线程的实现方式Executor框架线程池重点属性线程池的具体实现ThreadPoolExecutor线程池的创建参数解释线程池监控线程池原理源码分析addWorker方法Worker类runWorker方法引自图灵,用于学习线程线程是调度CPU资源的最小单位,线程模型分为KLT模型与ULT模型,JVM使用的KLT模型,Java线程与OS线程保持1:1的映射关系,也就是说有一个java线程也会在操作系统里有一个对应的线程。Java线程转载 2022-05-10 00:02:08 · 208 阅读 · 0 评论 -
并发-Collections之Map&List&Set详解
并发-Collections之Map&List&Set详解HashMap数据结构源码原理分析Jdk7-扩容死锁分析单线程扩容多线程扩容Jdk8-扩容ConcurrentHashMap数据结构并发安全控制源码原理分析协助扩容helpTransfer总结CopyOnWrite机制源码原理引自图灵,用于学习HashMap数据结构数组+链表+(红黑树jdk>=8)源码原理分析重要成员变量DEFAULT_INITIAL_CAPACITY = 1 << 4; Has转载 2022-05-09 23:34:38 · 247 阅读 · 0 评论 -
并发-Atomic&Unsafe魔法类
并发-Atomic&Unsafe魔法类原子操作处理器如何实现原子操作处理器自动保证基本内存操作的原子性使用总线锁保证原子性使用缓存锁保证原子性Java当中如何实现原子操作Atomic原子更新基本类型类原子更新数组类原子更新引用类型原子更新字段类Unsafe应用解析如何获取Unsafe实例?Unsafe功能介绍内存操作CAS相关典型应用线程调度引自图灵,用于学习。原子操作原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为”不可被中断的一个转载 2022-05-05 01:00:44 · 223 阅读 · 0 评论 -
并发-Semaphore和CountDownLatch初识
并发-Semaphore和CountDownLatch初识Semaphore是什么?怎么使用 Semaphore?2.1 构造方法2.2 重要方法2.3 基本使用2.3.1 需求场景2.3.2 代码实现CountDownLatch使用及应用场景例子CountDownLatch是什么?使用场景:CountDownLatch如何工作?APICountDownLatch应用场景例子CyclicBarrierAPI应用场景引自图灵,用于学习Semaphore是什么?Semaphore 字面意思是信号量的转载 2022-04-25 00:10:00 · 168 阅读 · 0 评论 -
【并发】-BlockingQueue 简介
【并发】-BlockingQueue 简介概要对类类型队列数据结构ArrayBlockingQueueLinkedBlockingQueueDelayQueueBlockingQueue API引自图灵,用于学习概要BlockingQueue,是java.util.concurrent 包提供的用于解决并发生产者 - 消费者问题 的最有用的类,它的特性是在任意时刻只有一个线程可以进行take或者put操作,并且 BlockingQueue提供了超时return null的机制,在许多生产场景里都可转载 2022-04-24 23:58:15 · 315 阅读 · 0 评论 -
并发-AQS杂谈
引自图灵,用于学习ReentrantLock lock = new ReentrantLock(false);//false为非公平锁,true为公平锁3个线程T0 T1 T2lock.lock() //加锁 while(true){ if(cas加锁成功){//cas->比较与交换compare and swap, break;跳出循环 } //Thread.yeild()//让出CPU使用权 .转载 2022-04-17 22:23:21 · 79 阅读 · 0 评论 -
并发-AQS应用之Lock
并发-AQS应用之LockAQS应用之LockReentrantLockAQS具备特性同步等待队列条件等待队列AQS源码分析AQS应用之LockJava并发编程核心在于java.concurrent.util包而juc当中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这个行为的抽象就是基于AbstractQueuedSynchronizer简称AQS,AQS定义了一套多线程访问共享资源 的同步器框架,是一个依赖状态(state)的同步器。Reentrant转载 2022-04-17 22:18:56 · 820 阅读 · 0 评论 -
并发-synchronized详解
并发-synchronized详解设计同步器的意义如何解决线程并发安全问题?同步器的本质就是加锁synchronized原理详解synchronized底层原理Monitor监视器锁什么是monitor?对象的内存布局对象头锁的膨胀升级过程偏向锁轻量级锁自旋锁锁消除逃逸分析设计同步器的意义多线程编程中,有可能会出现多个线程同时访问同一个共享、可变资源的情况,这个资源我们称之其为临界资源;这种资源可能是:对象、变量、文件等。共享:资源可以由多个线程同时访问可变:资源可以在其生命周期内被修改引出的转载 2022-04-17 21:40:02 · 334 阅读 · 0 评论 -
并发-MESI缓存一直协议详解
并发-MESI缓存一直协议详解CPU缓存一致性协议MESICPU高速缓存(Cache Memory)CPU为何要有高速缓存目前流行的多级缓存结构多核CPU多级缓存一致性协议MESIMESI协议缓存状态MESI状态转换多核缓存协同操作单核读取双核读取修改数据同步数据缓存行伪共享MESI优化和他们引入的问题CPU切换状态阻塞解决-存储缓存(Store Bufferes)Store BufferesStore Bufferes的风险硬件内存模型引用自图灵,用于学习CPU缓存一致性协议MESICPU高速转载 2022-04-01 00:28:39 · 343 阅读 · 0 评论 -
并发-JMM&synchronized&volatile详解
并发-JMM&synchronized&volatile详解什么是JMM模型?JMM不同于JVM内存区域模型主内存工作内存Java内存模型与硬件内存架构的关系JMM存在的必要性数据同步八大原子操作同步规则分析并发编程的可见性,原子性与有序性问题原子性可见性有序性JMM如何解决原子性&可见性&有序性问题原子性问题可见性问题有序性问题volatile内存语义volatile的可见性volatile无法保证原子性volatile禁止重排优化硬件层的内存屏障volatile内存语义的转载 2022-04-01 00:04:14 · 245 阅读 · 2 评论 -
并发-操作系统底层工作的整体认识
操作系统底层工作的整体认识冯诺依曼计算机模型详解计算机五大核心组成部分CPU指令结构控制单元运算单元存储单元CPU缓存结构CPU读取存储器数据过程CPU为何要有高速缓存带有高速缓存的CPU执行计算的流程CPU运行安全等级操作系统内存管理执行空间保护内核线程模型用户线程模型进程与线程虚拟机指令集架构栈指令集架构寄存器指令集架构引用自图灵,用于学习冯诺依曼计算机模型详解现代计算机模型是基于-冯诺依曼计算机模型计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据转载 2022-03-31 22:57:28 · 123 阅读 · 0 评论