1. 首页
  2. 编程语言
  3. Java
  4. java中synchronized(同步代码块和同步方法)详解及区别

java中synchronized(同步代码块和同步方法)详解及区别

上传者: 2022-05-20 10:49:41上传 PDF文件 77.72 KB 热度 9次

在启动线程1调用方法A后,接着会让线程1休眠5秒钟,这时会调用方法C,注意到方法C这里用synchronized进行加锁,这里锁的对象是str这个字符串对象。但是方法B则不同,是用当前对象this进行加锁,注意到方法A直接在方法上加synchronized,这个加锁的对象是什么呢?另外,同步方法直接在方法上加synchronized实现加锁,同步代码块则在方法内部加锁,很明显,同步方法锁的范围比较大,而同步代码块范围要小点,一般同步的范围越大,性能就越差,一般需要加锁进行同步的时候,肯定是范围越小越好,这样性能更好*。

用户评论