【发布时间】:2016-08-16 07:15:40
【问题描述】:
依次写一个从 1 到 10 的线程和另一个从 1 到 10 的线程。
例如:Thread1 输出:1 线程2输出:1 线程1输出:2 线程2输出:2
我已经写了下面的代码
public class Test1 extends Thread
{
public void run(){
for(int i=1;i<=10;i++){
//System.out.println(i);
try{
System.out.println(Thread.currentThread().getName()+"+i);
Thread.sleep(500);
}catch(Exception e){
System.out.println(e);
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Test1 t1=new Test1();
Test1 t2=new Test1();
//Test1 t3=new Test1();
t1.start();
t2.start();
//t3.start();
}
}
Got the output as:-
Thread-1 1
Thread-0 1
Thread-1 2
Thread-0 2
Thread-0 3
Thread-1 3
Thread-0 4
Thread-1 4
Thread-1 5
Thread-0 5
Thread-1 6
Thread-0 6
Thread-1 7
Thread-0 7
Thread-1 8
Thread-0 8
Thread-1 9
Thread-0 9
Thread-1 10
Thread-0 10
但输出不按顺序 我想要输出为: 线程 1 输出:1 线程2输出:1 线程1输出:2 线程2输出:2
【问题讨论】:
-
我是线程概念的新手。你能帮我实现同步,这样线程会一个接一个地打印到最后一个序列
标签: java