多线程练习1
要求顺序打印ABCABCABC…
public class Stringtest{
private final static Object object = new Object();
private static int count = 0;
public static void main(String[] args) {
while(count<30){
PrintABC a = new PrintABC("A",0);
PrintABC b = new PrintABC("B",1);
PrintABC c = new PrintABC("C",2);
a.start();b.start();c.start();
}
}
static class PrintABC extends Thread{
private volatile static int num;
String char_abc;
PrintABC(String char_abc,int num){
this.char_abc = char_abc;
this.num = num;
}
@Override
public void run() {
synchronized (object){
while(num!=count%3){
try {
object.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println(char_abc);
count++;
object.notifyAll();
}
}
}
}