/**
* 类描述:两个线程交替打印
* @author :大树
* @version 1.0
* @date 2021/6/28 18:34
*/
public class testRunable {
public static void main(String[] args){
TestThread t= new TestThread();
Thread t1=new Thread(t);
Thread t2= new Thread(t);
t1.setName("线程1");
t2.setName("线程2");
t1.start();
t2.start();
}
}
class TestThread implements Runnable{
int i=1;
@Override
public void run(){
while(true){
synchronized (this){
/*唤醒另一个线程,注意是this 的方法,而不是Thread*/
notify();
try{
/*使其休眠100毫秒,放大线程差异*/
Thread.currentThread();
System.out.println("===="+Thread.currentThread().getName());
Thread.sleep(100);
}catch (InterruptedException e){
e.printStackTrace();
}
if(i<=100){
System.out.println(Thread.currentThread().getName()+":"+i);
i++;
try{
wait();//放弃资源
}catch (InterruptedException e){
e.printStackTrace();
}
}
}
}
}
}
两个线程交替打印1-100
最新推荐文章于 2023-02-09 13:51:01 发布