作者abschihok (大帅哥)
站内java
标题[问题] synchronized的问题
时间Tue Sep 15 23:27:56 2009
请问以下二组各有何不同?
第一组:
class Some{
public static synchronized void method(){
......
}
}
class Some{
public synchronized void method(){
......
}
}
以上差别在有无static字眼
第二组:
class Some{
void method(){
synchronized(Some.class){
....
}
}
}
class Some{
void method( ){
synchronized(this){
....
}
}
}
请问以上两组各有何不同?
我的看法是:
第一组:如果有加static的话,代表可以锁住不同的Some 物件的thread,
如果没加static的话,只能锁住本身的Some物件的thread
第二组:其实也是和第一组的一样,如果是synchronized(Some.class){}的话,
代表可以锁住不同Some物件的thread
请问大家,我的答案是对的吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.160.147.66
1F:→ sbrhsieh:何谓【锁住某物件的thread】?! 09/16 00:58
2F:→ sbrhsieh:物件跟 Thread 有什麽关联? 09/16 00:59
3F:→ adrianshum:不对.什麽锁住thread,锁住不同Some物件通通乱来... =_= 09/16 01:00
4F:→ jej:跑hashcode出来看看吧... 09/19 00:23