スレッドの仕組みを理解するのに問題があります:
class ThreadTest implements Runnable{
synchronized void methodA(long n){
for (int i=1;i<3;i++){System.out.print(n+" "+i)}
}
public void run(){
methodA(Thread.currentThread.getId());
}
public static void main(String ... args){
new Thread(new ThreadTest()).start();
new Thread(new ThreadTest()).start();
}
}
私が現在理解しているようにmethodA
、このメソッドは同期された for ループであるため、次のスレッドがこのメソッドを呼び出す前に終了する必要があります-したがって、結果は次のようになります4-1 4-2 5-1 5-2...
のような結果になる可能性はあり4-1 5-1 5-2 4-2
ますか? はいの場合、どのように?