Java 线程 - 我想按顺序生成数字,例如:1,2,3,4...(只有 2 个线程)第一个线程 o/p 将是 1,第二个线程 o/p 将是 2,再次是第一个线程 o/p 将是 3 等等,它最多可以是 10 或最多 n 个数字,只要想得到逻辑,请帮助我:|
下面是我的尝试,但它不起作用我知道肯定会有 wait() 和 notify() 方法,但无法弄清楚使用它们的正确方法!
类 NumberGenerator { static int number = 0;
synchronized public int numGenerator()
{
for(int i=0;i<20;i++)
{
System.out.println(i);
number=i;
}
return number;
}
}
类 FirstThreadClass 扩展 Thread { NumberGenerator num;
FirstThreadClass(NumberGenerator num)
{
this.num = num;
}
public void run()
{
System.out.println("i am from 1st thread :"+num.numGenerator());
}
}
类 SecondThreadClass 扩展 Thread { NumberGenerator num;
SecondThreadClass(NumberGenerator num)
{
this.num = num;
}
public void run()
{
System.out.println("i am from 2nd thread :"+num.numGenerator());
}
}
公共类 ThreadTesting { public static void main(String[] args) {
FirstThreadClass ftc = new FirstThreadClass(new NumberGenerator());
SecondThreadClass stc = new SecondThreadClass(new NumberGenerator());
ftc.start();
stc.start();
}
}