【程序员必知必会】线程8锁现象:让你彻底理解synchronized到底锁了什么
我们都知道,不论是在学习、面试和工作中,多线程一直都被视为很重要的一项技术,也是开发人员交流中老生常谈的话题。
相信正在阅读的你,脑海中已经浮现出了多线程的知识。许多小伙伴对于多线程都有这样的困扰:知识一看就会,遇到场景就废。屏幕前的你是否也有这样的困扰呢?
就比如我们都知道synchronized实现同步具体表现为以下三种形式:
对于普通同步方法,锁是当前实例对象对于静态同步方法,锁是当前类的Class对象对于同步方法块,锁是synchronized括号里配置的对象
但是一到真实场景中,就难以判断synchronized锁的是谁了。
那么本篇文章,引用了著名的”8锁现象“,每个问题都会附一套代码,来帮助你彻底理解synchronized到底锁了什么,让你不论在多么复杂的场景下,都可以正确地判断锁的是谁。
想深入了解synchronized锁的读者 可以阅读笔者的上一篇作品:synchronized的
共有 0 条评论