![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 94
qq_31443137
这个作者很懒,什么都没留下…
展开
-
volatile、内存屏障、指令重排序、内存一致性解析
1. WHATvolatile是java中的一个特征修饰符;可以用来修饰一个变量,如下所示2. WHY在了解为什么要使用volatile关键字之前,我们需要先了解一下几点什么是指令重排序什么是内存一致性问题2.1 指令重排序首先,我们先要了解下指令重排序。有下面一段代码上面代码定义了一个 int 型变量,定义了一个 boolean 类型变量,然后分别对两个变量进行赋值操作。从代码顺序上看,语句 1 是在语句 2 前面的,那么 JVM 在真正执行这段代码的...原创 2020-09-04 22:53:29 · 724 阅读 · 0 评论 -
线程调度及进程调度
一、Java线程调度 1.抢占式调度:指的是每条线程执行的时间、线程的切换都由系统控制。系统控制指的是在系统某种运行机制下,可能每条线程都分同样的执行时间片,也可能是某些线程执行的时间片较长,甚至某些线程得不到执行的时间片。在这种机制下,一个线程的堵塞不会导致整个进程堵塞。 2.协同式调度:指某一线程执行完后主动通知系统切换到另一线程上执行。线程的执行时间由线程本身控制,线程切换可以预知,不存在多线程同步问题,但它有一个致命缺点:如果一个线程编写有问题,运行到一半就一直阻塞,那么可能导致整个系统转载 2020-08-29 21:55:50 · 321 阅读 · 0 评论