A*****o 发帖数: 284 | 1 synchronized 关键字分别用在静态和非静态函数上,
其他setting相同, 多线程各自调用1000次, 哪个更快些?
哪位大牛能给解释下? 谢谢 |
x*******e 发帖数: 84 | |
f********x 发帖数: 2086 | 3
好牛逼的题
http://stackoverflow.com/questions/5654654/static-synchronized-
http://stackoverflow.com/questions/18356795/static-versus-non-s
从这两个连接里看
貌似non static的快些,因为如果不同的obj,会不同的锁,互相不影响;
而static的,即使是不同的obj,因为锁是在class上,所以会互相block。
又学了点东西........
【在 A*****o 的大作中提到】 : synchronized 关键字分别用在静态和非静态函数上, : 其他setting相同, 多线程各自调用1000次, 哪个更快些? : 哪位大牛能给解释下? 谢谢
|
x****o 发帖数: 29677 | 4
如果只调用一个object呢
【在 f********x 的大作中提到】 : : 好牛逼的题 : http://stackoverflow.com/questions/5654654/static-synchronized- : http://stackoverflow.com/questions/18356795/static-versus-non-s : 从这两个连接里看 : 貌似non static的快些,因为如果不同的obj,会不同的锁,互相不影响; : 而static的,即使是不同的obj,因为锁是在class上,所以会互相block。 : 又学了点东西........
|
f********x 发帖数: 2086 | 5
不懂了。具体是不是就要涉及到不同的lock是如何维护的了。class的lock和obj的lock
咋维护的?问到这地方,还不满意,这面试就是坑吧。
【在 x****o 的大作中提到】 : : 如果只调用一个object呢
|
j*****8 发帖数: 3635 | 6 同感叹nb的题
能透露下啥公司吗
【在 f********x 的大作中提到】 : : 不懂了。具体是不是就要涉及到不同的lock是如何维护的了。class的lock和obj的lock : 咋维护的?问到这地方,还不满意,这面试就是坑吧。
|
c********p 发帖数: 1969 | |
z*******3 发帖数: 13709 | 8 static会快一点吧
方法区的操作一般快于heap里面的操作
【在 x****o 的大作中提到】 : : 如果只调用一个object呢
|
z*******3 发帖数: 13709 | 9 看锁所处对象所在的位置
static在method里面
一般obj在heap里面
所以heap会慢一点
但是如果不是操作同一个对象的话
显然heap的快,因为没有并发冲突的问题
这题要确认一下对象本身是否是singleton
【在 A*****o 的大作中提到】 : synchronized 关键字分别用在静态和非静态函数上, : 其他setting相同, 多线程各自调用1000次, 哪个更快些? : 哪位大牛能给解释下? 谢谢
|
f********x 发帖数: 2086 | 10
谢大牛
【在 z*******3 的大作中提到】 : 看锁所处对象所在的位置 : static在method里面 : 一般obj在heap里面 : 所以heap会慢一点 : 但是如果不是操作同一个对象的话 : 显然heap的快,因为没有并发冲突的问题 : 这题要确认一下对象本身是否是singleton
|