【发布时间】:2013-11-08 02:30:22
【问题描述】:
在下面的代码中,如何按照我们期望的顺序制作黑色和红色的数字打印机,如下所示:
- 1(黑色)
1(红色)
2(黑色)
2(红色)
与其实际所做的相反(一些随机顺序取决于错误或输出流是否可用):
- 1(黑色)
2(黑色)
1(红色)
2(红色)
代码:
package threads;
public class CThread implements Runnable
{
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i < 20; i++) {
outt(i);
err(i);
}
}
synchronized public void outt(int i){
System.out.println(i);
}
synchronized public void err(int i){
System.err.println(i);
}
public static void main(String [] org){
Thread th = new Thread(new CThread());
th.start();
}
}
【问题讨论】:
-
您是在 IDE 还是在终端/控制台中运行它?
-
IDE 中的@DerFlatulator
-
啊,我本来打算建议使用ANSI escape codes
-
对未来回答者的评论:这不是可以通过刷新来解决的缓冲问题。
-
另一个问题也没有回答这个问题。接受的解决方案不正确。
标签: java