synchronized的原理
时间: 2023-10-26 12:22:43 浏览: 37
synchronized的原理是通过使用对象内部的一个叫做监视器锁(Monitor)来实现的。这个监视器锁本质上是依赖于底层的操作系统的Mutex Lock来实现的。当一个线程访问一个同步代码块时,它会尝试获取这个监视器锁,如果获取成功,就可以执行同步代码块内的操作;如果获取失败,就需要等待,直到锁被释放。当锁被释放后,等待的线程会竞争获取锁。这种依赖于操作系统Mutex Lock的锁被称为"重量级锁",因为它的实现会涉及到从用户态转换到核心态的操作,这个转换的成本比较高,所以synchronized的效率较低。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [synchronized原理](https://blog.csdn.net/qq_34416191/article/details/119714263)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]