创建2个线程分别打印1~100的自然数,线程1,线程2交替打印
涉及到的三个方法;
wait():一旦执行此方法,当前线程就进入阻塞状态,并释放监视器
notify():一旦执行此方法,就会唤醒wait的一个线程,如果有多个线程被wait,就唤醒优先级高的
notifyall():一旦执行此方法,就会唤醒所有被wait的线程
class Number implements Runnable{
private int Number=1;
@Override
public void run(){
while(true){
synchronized (this) {
notifyAll();//唤醒线程
if (Number <= 100) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + ":" + Number);
Number++