
并发编程
文章平均质量分 77
并发相关
CodingPeppa
Stay Hungry
展开
-
Disruptor详细介绍
Disruptor详细介绍原创 2022-10-20 15:23:08 · 3395 阅读 · 0 评论 -
Synchronized同步静态方法和非静态方法总结
1.Synchronized修饰非静态方法,实际上是对调用该方法的对象加锁,俗称“对象锁”。Java中每个对象都有一个锁,并且是唯一的。假设分配的一个对象空间,里面有多个方法,相当于空间里面有多个小房间,如果我们把所有的小房间都加锁,因为这个对象只有一把钥匙,因此同一时间只能有一个人打开一个小房间,然后用完了还回去,再由JVM 去分配下一个获得钥匙的人。情况1:同一个对象在两个线程中分别访问该对象的两个同步方法结果:会产生互斥。解释:因为锁针对的是对象,当对象调用一个synchronized方法时,原创 2021-10-18 14:05:11 · 408 阅读 · 0 评论 -
详解JAVA线程池
线程池的创建通过Executors自动创建自动创建体现在Executors工具类中,常见的可以创建newFixedThreadPool、newCachedThreadPool、newSingleThreadExecutor、newScheduledThreadPool;本质上是对ThreadPoolExecutor的参数进行不同设置封装 public static ExecutorService newFixedThreadPool(int var0) { return new T原创 2021-07-28 08:51:05 · 172 阅读 · 0 评论 -
阻塞队列BlockingQueue详解
概要BlockingQueue,是java.util.concurrent 包提供的用于解决并发生产者 - 消费者问题的最有用的类,它的特性是在任意时刻只有一个线程可以进行take或者put操作,并且BlockingQueue提供了超时return null的机制,在许多生产场景里都可以看到这个工具的身影。队列类型无限队列 (unbounded queue ) - 几乎可以无限增长有限队列 ( bounded queue ) - 定义了最大容量队列数据结构通常用链表或者数组实现一般而言队原创 2021-07-27 21:26:29 · 588 阅读 · 0 评论 -
ThreadLocal使用及源码全解析
文章目录1. ThreadLocal介绍1.1 官方介绍1. ThreadLocal介绍1.1 官方介绍 从Java官方文档中的描述:ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问(通过get和set方法访问)时能保证各个线程的变量相对独立于其他线程内的变量。ThreadLocal实例通常来说都是private static类型的,用于关联线程和线程上下文。我们可以得知 ThreadLocal 的作用是:提供线程内的局部变量,不同的线程之间不会相互干扰,这种变量在线原创 2021-07-26 20:20:07 · 827 阅读 · 0 评论 -
操作系统底层工作的整体认识
冯诺依曼计算机模型详解现代计算机模型是基于-冯诺依曼计算机模型计算机五大核心组成部分控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。存储器(Memory):存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。输入(Input system):输入设备原创 2021-07-21 21:40:41 · 151 阅读 · 0 评论 -
手写一个死锁
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。线程A加了A锁,想加B锁,但是线程B已经加了B锁,现在想要A锁,互不想让,形成死锁。public class DeadLock { public static void main(String[] args) { final Object lockA = new Obj.原创 2021-04-23 17:47:16 · 154 阅读 · 0 评论 -
双线程交替打印1-20
利用 ReentrentLock 加锁同步 搭配Condition实现进程之间通信。Condition可以实现精准唤醒线程对应Synchronized 只能 使用wait(),notify().,notify随机唤醒import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;原创 2021-04-19 23:59:02 · 174 阅读 · 0 评论