并发系列2:Java并发的基石,volatile关键字、synchronized关键字、乐观锁CAS操作
摘要:由并发大师Doug Lea操刀的并发包Concurrent是并发编程的重要包,而并发包的基石又是volatile关键字、synchronized关键字、乐观锁CAS操作这些基础。因此了解他们的原理对我们理解并发大有裨益。(我对他们的理解基本凝聚在思维导图里了,由于找工作时间紧迫、暂不细讲) 除了参考
阅读全文
并发系列3:Lock锁以及核心类AQS
摘要:Java Lock类提供了语言级别的Synchronized,Lock与Condition配合与Synchronized配合object一样实现了等待/通知机制。但它提供了更高的灵活性,有:1尝试非阻塞地获取锁 2获取锁时能响应中断 3超时获取锁。 正文 讲Lock之前,必须先讲讲Java的线程状态
阅读全文
并发系列1:并发基础知识
摘要:本文是Java并发系列的开篇,主要讲一些并发的计算机基础知识。本系列所讲的知识框架也是基于《Java并发编程的艺术》一书,所讲的内容也多围绕于并发concurrent包下的类。 正文 并发的前提是多线程间的协同运作,如果是程序是单线程运作并发也无从谈起。那么首先要理解两个问题。 什么是进程、线程?
阅读全文