三个线程轮A,B,C,轮流输出ABC,顺序不可打乱,各十次。
我写了两种方法,第一种太慢了就写了第二种,没啥好说的直接上代码:
package thread.li;
/**
* Created by Lee Y on 2016/4/6.
* 三个线程轮番输出ABC
*/
public class ThreadABC {
public static void main(String[] args){
A a = new A();
B b = new B();
C c = new C();
a.setB(b);
b.setC(c);
c.setA(a);
a.start();
b.start();
c.start();
}
}
class A extends Thread{
public void setB(B b) {
this.b = b;
}
private B b;
public static boolean flag = false;
private int sum=0;
private int num=0;
@Override
public void run() {
while(true){
if(flag == false && B.flag == false){
System.out.println("A");
flag=true;
sum++;
}
num++;
if(sum == 10){
System.out.println(num