如果我編寫一個「擴展線程」的類,並且該類的每個對象實例都有另一個類的對象變量。例如:包含其他對象的對象的同步方法
public class MyClass extends Thread{
private int num;
private MyClass2 obj;
public MyClass(int num, MyClass2 obj){
this.num = num;
this.obj = obj;
}
這個類裏面我寫了使用MyClass2方法的同步方法。例如:
public synchronized int doSomething(){
obj.someMethod();
}
我的問題是:
1)當我打電話類MyClass2方法從同步方式,它仍將同步和原子,或者,當它熄滅其他不同步方法會繼續與其他線程? 2)如果它會停止同步...並且我希望它是同步的,我需要在類「MyClass2」中使「someMethod」同步嗎? 3)如果我聲明瞭兩個不同的「MyClass」類對象,但它們都有相同的「MyClass2」對象,如果調用doSomething方法,它們會被同步?