Java多线程全解密
文章平均质量分 77
借着申请公司讲师的机会,总结下java多线程。
包括但不限于java虚拟机,JMM,线程状态及转换,内置锁和显式锁,AQS,线程安全(可见性,有序性,原子性),JUC,线程池,线程安全的集合,多线程编程模式,多线程最佳实践,disruptor等
Smox
这个作者很懒,什么都没留下…
展开
-
显式锁之自旋锁
1.涉及到的处理器架构知识1.1 SMP(Symmetric Multi-Processor)对称多处理器结构,指服务器中多个CPU对称工作,每个CPU访问内存地址所需时间相同。其主要特征是共享,包含对CPU,内存,I/O等进行共享。SMP能够保证内存一致性,但这些共享的资源很可能成为性能瓶颈,随着CPU数量的增加,每个CPU都要访问相同的内存资源,可能导致内存访问冲突,可能会导致CPU资源的浪费原创 2017-07-20 20:54:45 · 462 阅读 · 0 评论 -
AQS(一) 对CLH队列的增强
基本概念AQS(AbstractQueuedSynchronizer),顾名思义,是一个抽象的队列同步器。 它的队列是先进先出(FIFO)的等待队列 基于这个队列,AQS提供了一个实现阻塞锁的机制 最终,基于这个阻塞锁,可以实现多线程的同步 先进先出的等待队列这个等待队列,是基于CLH锁实现的。 CLH锁是以发明人命名的自旋锁,这个锁是一个基于队列的自旋锁,是对SpinLock,TicketLoc原创 2017-07-29 14:50:20 · 1014 阅读 · 0 评论 -
AQS2:可重入和阻塞
本文仅基于可重入的锁(ReentrantLock类)对AQS做分析,只考虑独占锁。 共享锁与独占锁的更多信息,以后再讨论。原创 2017-08-18 13:44:23 · 927 阅读 · 0 评论