【发布时间】:2015-04-06 21:02:58
【问题描述】:
我需要在 java 中使用多个线程生成数字序列 (1 2 3 4 5 6...)。到目前为止,我有这个:
所有线程都引用这个类的同一个实例:
class Number{
private static int number;
public Number (int i){
number = i;
}
public synchronized int getNext(){
number+=1;
return number;
}
}
在每个线程中,我都在循环这部分代码:
System.out.print(number.getNext());
结果,我得到了数字序列,但它们没有排序,看起来像:1 3 2 5 4 8 9 7 6 ....
如何同步我的线程并因此获得排序的数字? (1 2 3 4 5...)
感谢您的每一个建议。
【问题讨论】:
-
多线程这个顺序程序有什么意义?
标签: java multithreading