![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 94
qq_41603622
少年的征途是星辰大海
展开
-
Java 中的各种锁
锁策略乐观锁悲观锁读写锁自旋锁(轻量级锁)可重入锁死锁CAS 介绍synchronized 背后的工作原理(重点)JUC 包的常见类ReentrantLockSemaphore乐观锁一种抽象的感念,这个锁认为出现锁 竞争的概率比较低,(当前场景中,线程数目比较少,不太涉及竞争,就偶尔竞争一下)。认为冲突的概率不是很高,做的工作会更少一些,付出的成本也更低。悲观锁这个锁认为出现锁 竞争的概率比较大,(当前场景中,线程的数目比较多,很可能涉及竞争)。认为冲突的概率比较高,做的工作会更多一些,付出的原创 2021-08-18 20:40:48 · 1072 阅读 · 8 评论 -
多线程案例之懒汉模式,阻塞队列,定时器,线程池实现
目录????单例模式懒汉模式饿汉模式????阻塞队列????单例模式懒汉模式懒汉模式的单例模式 (在调用方法的时候才会创建实例对象),线程安全版的懒汉模式,使用双重 if 提高效率,使用 sychronized 加锁线程安全,volatile 保证内存可见性,外层的 if 读取到的是最新值。public class ThreadDemo10 { // 懒汉模式 (在调用方法的时候才会创建实例对象) static class Singleton { volatil原创 2021-08-16 17:24:45 · 297 阅读 · 1 评论 -
关于线程不安全问题和解决方法
目录????线程安全????线程不安全的五大原因????线程安全概念:一般来说,如果多线程环境下代码运行的结果是符合我们预期的,即在单线程环境应该的结果,则说这个程序是线程安全的。????线程不安全的五大原因先说一下是那五大原因吧:1.抢占式执行 ;2.多个线程访问同一个资源;3. 操作不是原子性;4.内存可见性;5.指令重排序1.抢占式执行 抢占式执行是导致线程不安全的罪魁祸首,当多个线程并发执行的时候,那个线程先执行,那个线程后执行,这是程序员决定不了的,是由操作系统内核来决定的原创 2021-08-13 15:48:10 · 1046 阅读 · 0 评论 -
进程和线程学习笔记
目录进程操作系统管理进程进程的调度线程学习学习产出进程对于操作系统来说,一个正在运行的程序就是一个进程(Process)。通过任务管理器就能够看到很多进程操作系统管理进程所谓的管理:就是描述 + 组织描述:task struct 结构组织:使用双向链表把很多的task struct变量给串起来。例如:当我们打开任务管理器的时候,就可以认为是操作系统内核遍历了一遍这个双向链表,把每个节点里的信息取了出来并暂时,但我们创建一个线程,本质就是创建了一个 task struct 放到双向链表中,原创 2021-08-12 20:13:25 · 152 阅读 · 0 评论