java多线程学习笔记(六)

北城以北 提交于 2019-12-05 03:06:01

本节开始synchronized关键字的最后一部分内容:

静态同步方法synchronized方法与synchronized(class)代码块

关键字synchronized还可以用在static静态方法上,如果这样写,相当于对当前的*.java文件对应的Class类进行持锁。

结论写在前面:synchronized加到静态方法上和加到非静态方法上表面上的使用效果是一样的,但本质效果不同,synchronized关键字加到static静态方法上是给Class类加锁,而synchronized关键字加到非静态方法上是给对象加锁,两者不是同一个锁,所以同时使用的时候,当两个线程分表调用两种方法时,会出现异步的效果;

同步synchronized(class)代码块的作用其实是和synchronized static方法的作用是一样的

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!