博客专栏  >  互联网   >  并发编程

并发编程

并发编程系列

关注
0 已关注
27篇博文
  • 基于rxjava的生产消费模型

    一、前言 最近在看springcloud的熔断机制的实现,发现底层使用的rxjava实现,就看了下rxjava的使用,发现rxjava使用可也便捷实现前面讲解的定时生产与消费。 二、rxj...

    2018-02-02 19:03
    58
  • 一个有关定时生产与消费的问题

    一、前言 本文来讲解遇到的一个有意思的与定时器相关的生产消费模型,模型如下图: image.png 生产者是一个定时器线程,使用Schedul...

    2018-01-31 09:51
    67
  • 基于信号量的生产消费模型

    一、前言 上篇 https://www.jianshu.com/p/6402676abc86 文章讲解了一个定时生产消费时候消费队列里面最多有几个元素的问题。本文来探讨另外一个问题,由于生产和消...

    2018-01-31 09:52
    96
  • 高并发编程必备基础

    一、前言借用Java并发编程实践中的话”编写正确的程序并不容易,而编写正常的并发程序就更难了”,相比于顺序执行的情况,多线程的线程安全问题是微妙而且出乎意料的,因为在没有进行适当同步的情况下多线程中各...

    2018-01-19 09:38
    203
  • FutureTask 原理

    二十、FutureTask 原理20.1 一个例子 static class Task implements CallableInteger> { @Override ...

    2018-01-19 09:40
    60
  • 什么是重排序问题

    十七、 什么是重排序问题Java内存模型中,允许编译器和处理器对指令进行重排序,但是重排序可以保证最终执行的结果是与程序顺序执行的结果一致,并且只会对不存在数据依赖性的指令进行重排序,这个重排序在单线...

    2018-01-19 09:40
    105
  • 受限访问量问题中锁的使用

    一、 前言 最近在做网上法庭的一个比较有意思的小需求,就是通过扫二维码方式允许最多30个人同时进入庭审,但是不限制进入的是是不是庭审人员,也就是说只要扫了这个二维码并且当前案件对应的参与人数不到...

    2018-01-25 12:25
    61
  • 一个有关定时生产与消费的问题

    一、前言 本文来讲解遇到的一个有意思的与定时器相关的生产消费模型,模型如下图: image.png 生产者是一个定时器线程,使用Scheduled...

    2018-01-27 12:09
    62
  • 并发队列-无界非阻塞队列ConcurrentLinkedQueue原理探究

    一、 前言 常用的并发队列有阻塞队列和非阻塞队列,前者使用锁实现,后者则使用CAS非阻塞算法实现,使用非阻塞队列一般性能比较好,下面就看看常用的非阻塞ConcurrentLinkedQueue是...

    2018-01-27 12:10
    94
  • 并发队列-无界阻塞队列LinkedBlockingQueue原理探究

    一、前言 前面介绍了使用CAS实现的非阻塞队列ConcurrentLinkedQueue,下面就来介绍下使用独占锁实现的阻塞队列LinkedBlockingQueue的实现 二、 Link...

    2018-01-27 12:11
    75
  • 并发队列-有界阻塞队列ArrayBlockingQueue原理探究

    一、 前言 上节介绍了无界链表方式的阻塞队列LinkedBlockingQueue,本节来研究下有界使用数组方式实现的阻塞队列ArrayBlockingQueue 阿里巴巴长期招聘Java...

    2018-01-27 12:12
    60
  • 并发队列-无界阻塞优先级队列PriorityBlockingQueue原理探究

    一、 前言 PriorityBlockingQueue是带优先级的无界阻塞队列,每次出队都返回优先级最高的元素,是二叉树最小堆的实现,研究过数组方式存放最小堆节点的都知道,直接遍历队列元素是无序的。...

    2018-01-27 12:12
    76
  • 并发队列中迭代器弱一致性原理探究

    一、前言 并发队列里面的Iterators是弱一致性的,next返回的是队列某一个时间点或者创建迭代器时候的状态的反映。当创建迭代器后,其他线程删除了该元素时候并不会抛出java.util.Co...

    2018-01-27 12:13
    114
  • 并发队列-无界阻塞延迟队列DelayQueue原理探究

    一、前言 DelayQueue队列中每个元素都有个过期时间,并且队列是个优先级队列,当从队列获取元素时候,只有过期元素才会出队列。 阿里巴巴长期招聘Java研发工程师p6,p7,p8等上不...

    2018-01-27 12:14
    87
  • Java中线程池ThreadPoolExecutor原理探究

    一、 前言 线程池主要解决两个问题:一方面当执行大量异步任务时候线程池能够提供较好的性能,,这是因为使用线程池可以使每个任务的调用开销减少(因为线程池线程是可以复用的)。另一方面线程池提供了一种...

    2018-01-27 12:15
    60
  • Java中调度线程池ScheduledThreadPoolExecutor原理探究

    一、 前言 前面讲解过Java中线程池ThreadPoolExecutor原理探究,ThreadPoolExecutor是Executors中一部分功能,下面来介绍另外一部分功能也就是Sched...

    2018-01-27 12:15
    75
  • 使用ThreadLocal不当可能会导致内存泄露

    8.2 使用ThreadLocal不当可能会导致内存泄露 基础篇已经讲解了ThreadLocal的原理,本节着重来讲解下使用ThreadLocal会导致内存泄露的原因,并讲解使用ThreadLo...

    2018-01-15 18:27
    119
  • ThreadLocal原理探究

    2.1.11 ThreadLocal 多线程访问同一个共享变量特别容易出现并发问题,特别是多个线程需要对一个共享变量进行写入时候,为了保证线程安全,一般需要使用者在访问共享变量的时候进行适当的同...

    2018-01-16 12:40
    53
  • 并发包中ThreadLocalRandom类原理剖析

    2.2、 并发包中ThreadLocalRandom类原理剖析 ThreadLocalRandom类是JDK7在JUC包下新增的随机数生成器,它解决了Random类在多线程下多个线程竞争内部...

    2018-01-16 12:43
    56
  • 伪共享

    2.2.9 伪共享 2.2.9.1什么是伪共享 计算机系统中为了解决主内存与CPU运行速度的差距,在CPU与主内存之间添加了一级或者多级高速缓冲存储器(Cache),这个Cache一般是集...

    2018-01-16 12:44
    52

Dubbo剖析
191379

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部