摘要: 多次思考过这个问题,都没有形成理论,今天有时间了,我把他总结出来,希望对大家有所帮助 1、ReentrantLock 拥有Synchronized相同的并发性和内存语义,此外还多了 锁投票,定时锁等候和中断锁等候 线程A和B都要获取对象O的锁定,假设A获取了对象O锁,B将等待A释放对O的锁定, 如果 阅读全文
posted @ 2016-05-03 20:57 VinoZhu 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 阻塞I/O(bloking I/O) 阻塞IO的特点就是在IO执行的两个阶段(recvfrom和数据从内核空间转移到用户空间)都被block了 非阻塞I/O(non-bloking I/O) 非阻塞 IO的特点是用户进程需要不断的主动询问kernel数据是否准备好。 多路复用I/O(multiple 阅读全文
posted @ 2016-05-03 20:12 VinoZhu 阅读(206) 评论(0) 推荐(0) 编辑
摘要: I/O模型 在开始NIO的学习之前,先对I/O的模型有一个理解,这对NIO的学习是绝对有好处的。我画一张图,简单表示一下数据从外部磁盘向运行中进程的内存区域移动的过程: 这张图片明显忽略了很多细节,只涉及了基本操作,下面分析一下这张图。 用户空间和内核空间 一个计算机通常有一定大小的内存空间,如一台 阅读全文
posted @ 2016-05-03 19:59 VinoZhu 阅读(1043) 评论(0) 推荐(0) 编辑
摘要: 前言 这篇文章被归到Java基础分类中,其实真的一点都不基础。网上写ReentrantLock的使用、ReentrantLock和synchronized的区别的文章很多,研究ReentrantLock并且能讲清楚ReentrantLock的原理的文章很少,本文就来研究一下ReentrantLock 阅读全文
posted @ 2016-05-03 19:57 VinoZhu 阅读(302) 评论(0) 推荐(0) 编辑