syncronized+wait/notify Java实现的语言级别的超大管程+Java 多线程机制的发展

最先是:syncronized+wait/notify

不知道Java的syncronized的设计者是怎么思考的,将OOP的对象当做是条件变量,将syncronized 临界区 作为管程资源,真的是一个大手笔:想象整个Jvm就是一个大管程,每个Object都是一个condition
从每一个对象头的markword 都有轻量锁和重量锁的 标志位 也能看的出来

后来是Condition,Lock,ReentreLock

因为syncronized这个锁的粒度实在是太大了,而且设计的自定义自由度不够,而且不支持读写锁分离,不适合 奔腾发展的 计算机组成原理 对现代计算机的优化,所以提出了concurrent包来方便Java程序员进一步操作

发布了32 篇原创文章 · 获赞 31 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/TowerOs/article/details/104363992