Java スレッド - 順番に数字を生成したい 例: 1,2,3,4... (スレッドは 2 つしかありません) 1 番目のスレッド o/p は 1 になり、2 番目のスレッド o/p は 2 になり、再び 1 番目になりますスレッド o/p は 3 などになります。最大 10 または最大 n の数にすることができます。ロジックを取得したいだけの場合は、みんな助けてください :|
以下は私の試みですが、機能していません。確実にwait()およびnotify()メソッドがあることはわかっていますが、それらを使用する適切な方法がわかりません!
クラス NumberGenerator { static int 番号 = 0;
synchronized public int numGenerator()
{
for(int i=0;i<20;i++)
{
System.out.println(i);
number=i;
}
return number;
}
}
class FirstThreadClass extends Thread { NumberGenerator num;
FirstThreadClass(NumberGenerator num)
{
this.num = num;
}
public void run()
{
System.out.println("i am from 1st thread :"+num.numGenerator());
}
}
クラス SecondThreadClass extends Thread { NumberGenerator num;
SecondThreadClass(NumberGenerator num)
{
this.num = num;
}
public void run()
{
System.out.println("i am from 2nd thread :"+num.numGenerator());
}
}
public class ThreadTesting { public static void main(String[] args) {
FirstThreadClass ftc = new FirstThreadClass(new NumberGenerator());
SecondThreadClass stc = new SecondThreadClass(new NumberGenerator());
ftc.start();
stc.start();
}
}