在下面的代码中,如何按照我们期望的顺序制作黑色和红色的数字打印机,如下所示:
- 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();
}
}