
多线程
农村闲置劳动力进城搬砖大队--三队长
这个作者很懒,什么都没留下…
展开
-
多线程编程--04CPU高速缓存
CPU高速缓存 线程是CPU调度的最小单元,那么CPU在调度线程执行指令的时候,不仅仅是依靠计算机的处理器去完成,处理器依然需要跟内存进行交互,这里就存在IO操作。由此引发了一个问题,这个问题就是CPU的运算速度远比内存要高很多,导致数据读写速度跟不上CPU运算速度;那么解决方案就是在CPU和内存之间存在一个高速缓存叫CPU高速缓存。 ...原创 2019-07-28 14:45:09 · 250 阅读 · 0 评论 -
多线程编程--06锁的获取过程
Synchronized关键字被加到方法上或者代码块上,在JVM规范中可以看到Synchonized在JVM里的实现原理:JVM基于进入和退出Monitor(监视器锁)对象来实现方法同步和代码块同步,但两者的实现细节不一样。代码块同步是使用monitorenter和monitorexit指令实现的,而方...原创 2019-08-20 08:40:04 · 387 阅读 · 0 评论 -
多线程编程--07处理器原子操作的实现原理
这篇文章我要做两件事 1、以Intel处理器为例阐述cpu是如何保证原子性操作 2、以及java是如何保证原子性操作的 先看一套专业术语定义: 缓存行(Cach...原创 2019-09-04 09:05:50 · 217 阅读 · 0 评论 -
多线程编程--08java原子操作的实现原理
这一篇记录java保证原子操作的原理 一、使用循环CAS实现原子操作 JVM中的CAS操作正是利用了处理器提供的CMPXCHG指令实现的。自旋CAS实现的基本思路就是循环进行CAS操作直到成功为止; 从java1.5开始,JDK的并发包里提供了一些类用来支持原子操作,如AtomicBoolean、AtomicInteger…(主要是数据类型)。这些原...原创 2019-09-04 16:44:19 · 204 阅读 · 0 评论