随笔分类 -  多线程与锁

多线程与锁相关的文章及感悟
LockSupport多看一点
摘要:写上一篇博客ReentrantLock相关的时候翻代码发现,线程启停的控制在jdk7中使用的是LockSupport实现的,于是忍不住想看下代码,然后愈发不可收拾,Locksupport借助的是POSIX线程的mutex和condition实现的线程间的启停控制。 先放下资源吧,我写博客的习惯就是好 阅读全文

posted @ 2018-07-05 11:37 aquariusm 阅读(313) 评论(0) 推荐(0)

ReentrantLock源码阅读记录(一)
摘要:昨天继续翻了下ReentrantLock的代码,这里做下记录。 总体思路是AQS的思想,关于什么是AQS就不阐述了,自己搜索喽,阅读代码那关键就是实现了。 ReentrantLock的操作,lock、release这些操作实际上都是通过通过一个Sync的实例来实现的。 Sync的类结构见上图。 上代 阅读全文

posted @ 2018-06-08 10:36 aquariusm 阅读(192) 评论(0) 推荐(0)

基础总结
摘要:Unsafe Java线程池 HashCode 垃圾收集 关于引用(弱引用、强引用等等) 阅读全文

posted @ 2017-01-22 14:51 aquariusm 阅读(102) 评论(0) 推荐(0)

jsr133-第三四章
摘要:3:Informal Semantics 当代码被重排序的时候,一个程序必须被正确的同步来避免多种类型的违反直觉的行为发生。使用正确的同步不能保证程序里上述的行为是正确的。但是,使用它允许一个程序员以一种简单的途径来推理出一个程序的可能行为;一个正确同步的程序的行为是极少依赖可能的重排序的。没有正确 阅读全文

posted @ 2017-01-19 19:00 aquariusm 阅读(154) 评论(0) 推荐(0)

HotSpotOverview.pdf
摘要:从oracle官网下载的这个HotSpot虚拟机的概况文档,现在翻一下锁的部分; Java 锁 *每一个java对象都是一个潜在的monitor(监视器) >synchronized 关键字 *所有现代JVM虚拟机都包含light-weight锁 >避免关联一个系统互斥信号量或者每个对象的条件变量( 阅读全文

posted @ 2016-11-28 18:50 aquariusm 阅读(259) 评论(0) 推荐(0)

jsr133-第一二章
摘要:1:介绍 java虚拟机支持多线程运行。线程代表的就是Thread class。对用户来说创建线程的唯一办法就是创建一个Thread对象;每一个线程都和一个Thread对象关联。Thread对象调用start()方法就启动了相应的线程。 线程的表现,尤其是当不能正常同步的时候,会变得混乱和违反直觉。 阅读全文

posted @ 2016-11-17 09:41 aquariusm 阅读(236) 评论(0) 推荐(0)

Java基础之-ExecutorService
摘要:翻译javadoc系列文章之:ExecutorService /** * An {@link Executor} that provides methods to manage termination and * methods that can produce a {@link Future} f 阅读全文

posted @ 2016-08-25 23:41 aquariusm 阅读(411) 评论(0) 推荐(0)

线程与锁精进阶段
摘要:一:共享内存 二:线程与锁模型(解决资源使用问题) 三:java内存模型(JSR133) 四:普通锁(内置锁):synchronized 五:Java高级改进锁:ReentranLock java线程锁机制目的是发挥cpu单核性能的最优化,使用共享内存进行并发运行的必经途径,但是并不一定是最优的锁机 阅读全文

posted @ 2016-07-29 15:55 aquariusm 阅读(155) 评论(0) 推荐(0)

线程锁学习路径
摘要:https://www.ibm.com/developerworks/cn/java/j-lo-synchronized/ http://bininhere.github.io/blog/java/multiThread/Moniters.html https://objectkuan.gitboo 阅读全文

posted @ 2016-07-28 18:30 aquariusm 阅读(167) 评论(0) 推荐(0)

导航