0%

JUC提供了一些控制并发流程的工具类,作用就是帮助我们程序员更容易的让线程之间进行合作,让线程之间相互配合,来满足业务需求。

阅读全文 »

Java的集合框架中,容器主要分为List、Set、Queue、Map四大类,常用的容器ArrayList、LinkedList、HashSet、HashMap等都不是线程安全的。为了保证线程安全Java提供了同步容器和并发容器。

阅读全文 »

Java从JDK 1.5开始提供了java.util.concurrent.atomic包,这个包中的原子操作类提供了一种用法简单、性能高效、线程安全地更新一个变量的方式。

阅读全文 »

相比同步锁,JUC包中的锁的功能更加强大,锁的种类也非常多,包括可重入锁和非重入锁、公平锁和非公平锁、共享锁和排他锁、自旋锁和阻塞锁等等。

阅读全文 »

ThreadLocal是除了加锁这种同步方式之外的一种保证一种规避多线程访问出现线程不安全的方法,当我们在创建一个变量后,如果每个线程对其进行访问的时候访问的都是线程自己的变量这样就不会存在线程不安全问题。

阅读全文 »

在实际使用中,线程是很占用系统资源的,如果对线程管理不善很容易导致系统问题。因此,在大多数并发框架中都会使用线程池来管理线程。

阅读全文 »

在上篇文章中我们介绍了JMM和其一些特性,java中还有一大神器就是关键volatile,可以说是和synchronized各领风骚,其中奥妙,我们来共同探讨下。

阅读全文 »

在多线程条件下,出现线程安全的问题一般是因为主内存和工作内存数据不一致性和重排序导致的,那么,理解它们的核心在于理解java内存模型(JMM)。

阅读全文 »