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