-
JAVA并发二十九:一篇文章,让你彻底弄懂生产者–消费者问题
并发编程生产者-消费者模式是一个十分经典的多线程并发协作的模式,弄懂生产者-消费者问题能够让我们对并发编程的理解加深。所谓生产者-消费者问题,实际上主要是包含了…2018年9月10日 -
JAVA并发系列二十八:大白话说java并发工具类-Semaphore,Exchanger
并发编程1. 控制资源并发访问--SemaphoreSemaphore可以理解为信号量,用于控制资源能够被并发访问的线程数量,以保证多个线程能够合理的使用特定资…2018年9月10日 -
JAVA并发系列二十七:大白话说java并发工具类-CountDownLatch,CyclicBarrier
并发编程1. 倒计时器CountDownLatch在多线程协作完成业务功能时,有时候需要等待其他多个线程完成任务之后,主线程才能继续往下执行业务功能,在这种的业…2018年9月10日 -
JAVA并发系列二十六:Java中atomic包下原子操作类总结
并发编程1. 原子操作类介绍在并发编程中很容易出现并发安全的问题,有一个很简单的例子就是多线程更新变量i=1,比如多个线程执行i++操作,就有可能获取不到正确的…2018年9月10日 -
JAVA并发系列二十五:带你认识FutureTask
并发编程1.FutureTask简介在Executors框架体系中,FutureTask用来表示可获取结果的异步任务。FutureTask实现了Future接口…2018年9月10日 -
JAVA并发系列二十四:线程池之ScheduledThreadPoolExecutor
并发编程1. ScheduledThreadPoolExecutor简介ScheduledThreadPoolExecutor可以用来在给定延时后执行异步任务或…2018年9月10日 -
JAVA并发系列二十三:线程池ThreadPoolExecutor实现原理
并发编程1. 为什么要使用线程池在实际使用中,线程是很占用系统资源的,如果对线程管理不善很容易导致系统问题。因此,在大多数并发框架中都会使用线程池来管理线程,使…2018年9月10日 -
JAVA并发系列二十二:LinkedBlockingQueue实现原理
并发编程在上一篇文章中我们分析了ArrayBlockingQueue的实现原理,在这一篇文章中我们一起去寻踪LinkedBlockingQueue。3. Lin…2018年9月10日 -
JAVA并发系列二十一:ArrayBlockingQueue实现原理
并发编程1. ArrayBlockingQueue简介在多线程编程过程中,为了业务解耦和架构设计,经常会使用并发容器用于存储多线程间的共享数据,这样不仅可以保证…2018年9月10日 -
JAVA并发系列二十:并发容器之BlockingQueue
并发编程1. BlockingQueue简介在实际编程中,会经常使用到JDK中Collection集合框架中的各种容器类如实现List,Map,Queue接口的…2018年9月10日 -
JAVA并发系列十九:深入理解ThreadLocal(三)–详解ThreadLocal内存泄漏问题
并发编程1. 造成内存泄漏的原因?threadLocal是为了解决对象不能被多线程共享访问的问题,通过threadLocal.set方法将对象实例保存在每个线程…2018年9月10日 -
JAVA并发系列十八:深入理解ThreadLocal(二)
并发编程接上一篇,继续深扒ThreadLocal中最重要的ThreadLocalMap知识点3. ThreadLocalMap详解从上面的分析我们已经知道,数据…2018年9月10日 -
JAVA并发专题十七:深入理解ThreadLocal(一)
并发编程1. ThreadLocal的简介在多线程编程中通常解决线程安全的问题我们会利用synchronzed或者lock控制线程对临界区资源的同步顺序从而解决…2018年9月10日 -
JAVA并发八(下):初识Lock与AbstractQueuedSynchronizer(AQS)
并发编程1. concurrent包的结构层次 在针对并发编程中,Doug Lea大师为我们提供了大量实用,高性能的工具类,针对这些代码进行研究会让我们队并发编…2018年7月25日 -
JAVA并发八(上):三大性质总结:原子性、可见性以及有序性
并发编程1. 三大性质简介 在并发编程中分析线程安全的问题时往往需要切入点,那就是**两大核心**:JMM抽象内存模型以及happens-before规则(在…2018年7月25日 -
JAVA并发七:你以为你真的了解final吗?
并发编程1. final的简介 final可以修饰**变量,方法和类**,用于表示所修饰的内容一旦赋值之后就不会再被改变,比如String类就是一个final类…2018年7月24日
并发专题
30篇文章
5.15W人已阅读