首页 > 试题广场 >

同步方法和同步代码块的区别是什么?

[问答题]
请分析一下同步方法和同步代码块的区别是什么?
1. 语法不同。 2. 同步块需要注明锁定对象,同步方法默认锁定this。 3. 在静态方法中,都是默认锁定类对象。 4. 在考虑性能方面,最好使用同步块来减少锁定范围提高并发效率。
发表于 2019-03-14 10:34:00 回复(0)
1. 语法不同。 2. 同步块需要注明锁定对象,同步方法默认锁定this。 3. 在静态方法中,都是默认锁定类对象。 4. 在考虑性能方面,最好使用同步块来减少锁定范围提高并发效率。
发表于 2019-05-05 15:21:46 回复(0)
1. 语法不同。 2. 同步块需要注明锁定对象,同步方法默认锁定this。 3. 在静态方法中,都是默认锁定类对象。 4. 在考虑性能方面,最好使用同步块来减少锁定范围提高并发效率。
发表于 2019-05-01 21:35:32 回复(0)

 1. 语法不同。
 2. 在静态方法中,都是默认锁定类对象。
 3.同步块需要注明锁定对象,同步方法默认锁定this。
 4. 在考虑性能方面,最好使用同步块来减少锁定范围提高并发效率。
发表于 2019-04-29 09:45:36 回复(0)
同步代码和同步方法是一样的 同步方法作用于整个方法 同步代码块作用于整个代码块而已 1 当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块一个时间内只能有一个线程得到执行 另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块 2 当一个线程访问object的一个synchronized(this)同步代码块时 另一个线程仍然可以访问该object中的非synchronized(this)同步代码块 3 当一个线程访问object的一个synchronized(this)同步代码块时 其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞 4 当一个线程访问object的一个synchronized(this)同步代码块时 它就获得了这个object的对象锁 结其它线程对该object对象所有同步代码部分的访问都被暂时阻塞
发表于 2019-04-28 23:19:37 回复(0)
同步方法默认用this或者当前类class对象作为锁; 同步代码块可以选择以什么来加锁,比同步方法要更细颗粒度,我们可以选择只同步会发生同步问题的部分代码而不是整个方法。
发表于 2019-04-28 22:25:34 回复(0)
1粒度不同2代码块里可以指定同步的标识 方法里是this
发表于 2019-02-16 20:59:26 回复(0)