作者tkcn (小安)
看板java
标题Re: [问题] 老梗synchronized
时间Thu Oct 18 20:28:43 2007
※ 引述《easy1 (e :) y)》之铭言:
: 那 bar1 和 bar2 可以 被不同thread 同时执行吗?
: 我认为no 因为synchronized会用同样的lock object
: 而且 实验後也是不行
: 只是想确认一下 thanks
没错,是不行
synchronized void bar1() { ... }
这样的写法意义上与下面的写法相同
void bar1(){
synchronized(this){
...
}
}
被锁住的是 Object,不是 Method。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.78.239
1F:推 H45:说「把 Thread 锁在 Object 上面」会不会比较适当? 10/18 20:30
2F:推 wctang:应该是 Object 被锁, Thread 因无法再次上锁而停下来等 10/18 22:42
3F:推 xlk:所以建立不同的Object,就能一个跑bar1一个跑bar2? 10/20 11:34