两个线程交替打印字符串
/**
* 实现Runnable接口方式
* @author love
*
*/
class demo implements Runnable{
int i = 10;
@Override
public void run() {
while(true) {
synchronized (this) {
notify();
if(i>0) {
System.out.println(Thread.currentThread().getName()+": "+i+" "+"hello World!");
i--;
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}else {
break;
}
}
}
}
}
/**
* 继承Thread类方式
* @author love
*
*/
class demo2 extends Thread{
@Override
public void run() {
int suv = 10;
while(true) {
synchronized(demo2.class) {
demo2.class.notify();
if(suv>0) {
System.out.println(currentThread().getName()+"Hello World!");
suv--;
try {
demo2.class.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}else {
break;
}
}
}
}
}
</