如何深入掌握synchronized在多线程高并发中的应用原理?
- 内容介绍
- 文章标签
- 相关推荐
本文共计14546个文字,预计阅读时间需要59分钟。
1.+ 前言:简单的事物越深入理解越复杂。记得初中学语文时,老先生给我们讲解《论语》的道理解,随口一句:老子的无为思想比比较极端,学生时代不要太过于执着。
1. 前言越是简单的东西,在深入了解后发现越复杂。想起了曾在初中阶段,语文老师给我们解说《论语》的道理,顺便给我们提了一句,说老子的无为思想比较消极,学生时代不要太关注。现在有了一定的生活阅历,再来看老子的《道德经》,发现那才是大智慧,《论语》属于儒家是讲人与人的关系,《道德经》属于道家讲人与自然的关系,效法天之道来行人之道,儒家讲入世,仁义礼智信,道家讲出世,无为而无不为。老子把道比作水、玄牝(女性的生殖器)、婴儿、山谷等,高深莫测,却滋养万物,源源不断的化生万物并滋养之,而不居功,故能天长地久。儒家教我们做圣人,道家教我们修成仙,显然境界更高。
synchronized的设计思想就像道家的思想一样,看着用起来很简单,但是底层极其复杂,好像永远看不透一样。一直想深入写一篇synchronized的文章,却一直不敢动手,直到最近读了几遍hotspot源码后,才有勇气写一些自己的理解。下文就从几个层面逐步深入,谈谈对synchronized的理解,总结精华思想并用到我们自己的项目设计中。
首先通过一张图来概览synchronized在各层面的实现细节与原理,并在下面的章节逐一分析
临界区与临界资源
一段代码块内如果存在对共享资源的多线程读写操作,称这段代码块为临界区,其共享资源为临界资源。
本文共计14546个文字,预计阅读时间需要59分钟。
1.+ 前言:简单的事物越深入理解越复杂。记得初中学语文时,老先生给我们讲解《论语》的道理解,随口一句:老子的无为思想比比较极端,学生时代不要太过于执着。
1. 前言越是简单的东西,在深入了解后发现越复杂。想起了曾在初中阶段,语文老师给我们解说《论语》的道理,顺便给我们提了一句,说老子的无为思想比较消极,学生时代不要太关注。现在有了一定的生活阅历,再来看老子的《道德经》,发现那才是大智慧,《论语》属于儒家是讲人与人的关系,《道德经》属于道家讲人与自然的关系,效法天之道来行人之道,儒家讲入世,仁义礼智信,道家讲出世,无为而无不为。老子把道比作水、玄牝(女性的生殖器)、婴儿、山谷等,高深莫测,却滋养万物,源源不断的化生万物并滋养之,而不居功,故能天长地久。儒家教我们做圣人,道家教我们修成仙,显然境界更高。
synchronized的设计思想就像道家的思想一样,看着用起来很简单,但是底层极其复杂,好像永远看不透一样。一直想深入写一篇synchronized的文章,却一直不敢动手,直到最近读了几遍hotspot源码后,才有勇气写一些自己的理解。下文就从几个层面逐步深入,谈谈对synchronized的理解,总结精华思想并用到我们自己的项目设计中。
首先通过一张图来概览synchronized在各层面的实现细节与原理,并在下面的章节逐一分析
临界区与临界资源
一段代码块内如果存在对共享资源的多线程读写操作,称这段代码块为临界区,其共享资源为临界资源。

