一个java初学者对于synchronized的理解,望大神们指点纠正!!!

在自学多线程同步的时候遇见很多坑,通过解释遇见的问题,我对synchronized的理解是:

synchronized会修饰一段代码,并锁定一个对象。当一个线程运行被synchronized修饰的代码的时候,它就会锁定小括号内的对象(当修饰方法的时候小括号省略,修饰的对象默认为this),被锁定的对象一旦被一个线程访问,那么在这个线程结束对被锁定对象的访问之前,是不允许其他线程访问被锁定对象的。关于锁定对象要分两种情况:1、synchronized在锁定的对象的类内部(这时候锁定的对象是this),这种情况锁定的并不是对象的全部,锁定的仅是被synchronized修饰的部分,对于非被修饰的部分是不会锁定的。2、在外部:这种时候锁定的就是对象的全部内容了。

还望大神们指点纠正!!!


大佬金
浏览 981回答 0
0回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java