-1
Javaで同期テストを行っています。出力は私が期待したものではありません。同期メソッドのロックが機能していないようです。問題の考え方は?あなたはその論理に間違いを見ますか?同期メソッドの問題
class Sum implements Runnable{
Thread th;
int start;
int end;
Sum(int start, int end){
th = new Thread(this);
this.start = start;
this.end = end;
th.start();
}
synchronized void count(){
System.out.println("Starting " + this.start);
System.out.println("Ending " + this.end);
}
public void run(){
count();
}
public static void main(String[] args){
Sum th1 = new Sum(1, 100);
Sum th2 = new Sum(101, 200);
}
}
あなたは何を見ますか、何を期待していますか? –
私は、最初のスレッドが印刷によって入り込んだら干渉なくrun()を完了することを期待しています:Starting ... Ending ...そして2番目のスレッドと同じです。私は出力を開始します...開始...終了...終了... –