印象博客印象博客

标签 并发编程

JAVA

volatile的内存语义

印象博客 阅读(48) 评论(1)

volatile的特性 volatile修饰的变量可以禁止指令重排序和保证了内存可见性和单一操作的原子性,类似i++这样的复合操作的原子性保证不了 有volatile关键字修饰的共享变量进行写操作数,会多出一个lo...

JAVA

并发编程-深入理解线程池ThreadPoolExecutor

印象博客 阅读(35) 评论(0)

概述 使用线程池技术可以降低资源的消耗,提高响应速度和线程的可重复利用性 当提交一个新任务到线程池后,线程池首先会判断核心线程池(corePoolSize)里的线程是否都在执行任务,如果不是则创建一个新的工作线程来...

JAVA

并发编程-深入理解阻塞队列ArrayBlockingQueue源码

印象博客 阅读(35) 评论(0)

概述 ArrayBlockingQueue是一个由数组构成的有界阻塞队列,此队列按 FIFO(先进先出)原则对元素进行排序,支持公平和非公平模式,默认情况下不保证线程公平的访问队列。新元素插入到队列的尾部,队列获取...

JAVA

并发编程-深入理解ConcurrentLinkedQueue源码

印象博客 阅读(38) 评论(0)

概述 ConcurrentLinkedQueue是一个基于链接节点的无边界的线程安全队列,它采用先进先出原则对元素进行排序,插入元素放入队列尾部,出队时从队列头部返回元素,利用CAS方式实现的 Concurrent...

JAVA

并发编程-深入理解ThreadLocal源码

印象博客 阅读(28) 评论(0)

概述 ThreadLocal 是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰。在高并发场景下,可以实现无状态的调用,适用于各个线程不共享变量值的操作。 ...