美文网首页
白话 Synchronized

白话 Synchronized

作者: 猴猴猪027 | 来源:发表于2018-02-06 18:07 被阅读0次

    很多情况下检验你对技术是否理解,可以用一个标准来判断:是否能用简洁的语言向一个没有基础的人讲解清楚。

    传送门(个人觉得讲解的不错的博客地址):

    深入分析版

    简洁易懂版

    基本上有上面两篇博客就知道synchronized是怎么用的了。


    特殊的市场

    如果所示,一个超大的市场(对象),里面有洗手间,餐厅,试衣间等等,可以进行各种活动,上厕所(方法A),吃饭(方法B),试衣服(方法C)。不同活动要求不同,去上厕所需要进去后把门锁上,免得别人进来;试衣间也是一样的道理;至于餐厅吃饭就不需要了,你吃什么别人看到了也没关系。

    这个市场特殊的地方就是,只有一把锁,你要是去上厕所把把锁拿走了,想去换衣服的同学就不行了,要等你上完厕所还掉锁了他才能拿过去试衣间用。同样的道理,你去试衣间把锁带走了,另外的同学要上厕所就得等你把锁归还。

    如果你去上厕所把锁拿走了,对想要吃饭的同学没有影响的,因为他在餐厅吃饭没必要把餐厅的门锁上。

    下面通俗解释一些问题:

    如果没有锁的情况下

    没有锁的情况就比如吃饭和剪头发,A同学去吃饭,B同学去剪头发,是没有什么关系的。

    如果有有锁的情况下

    比如去洗手间和试衣间,都是需要锁的,但是锁只有一把。A同学去洗手间了,B同学想去试衣间只能等等咯。

    如果是两个市场(对象),A在市场1,去了洗手间,对于在市场的B同学是没有影响的。因为市场1有一把锁,市场2也有一把锁。

    如果锁用在静态方法

    所有的市场公用同一把锁,A同学在市场1去了洗手间,市场2里面的B同学就去不了试衣间,要等A同学用完。

    不知道以上有没有讲清楚,或者有更好的比方。

    相关文章

      网友评论

          本文标题:白话 Synchronized

          本文链接:https://www.haomeiwen.com/subject/kdtnzxtx.html