package com.ajax;
//线程休眠:该方法可以让当前正在执行的线程暂停一段时间,进入休眠等待状态让其他线程可以执行
public class Example04 {
public static void main(String[] args) throws Exception{
new Thread(new SleepThread()).start();
for(int i=1;i<=10;i++){
if(i==5){
Thread.sleep(2000);//当前线程休眠2秒
}
System.out.println("主线程正在输出:"+i);
Thread.sleep(500);
}
}
}
class SleepThread implements Runnable{
public void run(){
for(int i=0;i<=10;i++){
if(i==3){
try{
Thread.sleep(2000);
}catch(InterruptedException e){
e.printStackTrace();
}
}
System.out.println("线程一正在输出:"+i);
try{
Thread.sleep(500);
}catch(Exception e){
e.printStackTrace();
}
}
}
}
/*运行结果:
主线程正在输出:1
线程一正在输出:0
主线程正在输出:2
线程一正在输出:1
线程一正在输出:2
主线程正在输出:3
主线程正在输出:4
线程一正在输出:3
主线程正在输出:5
线程一正在输出:4
主线程正在输出:6
线程一正在输出:5
主线程正在输出:7
线程一正在输出:6
主线程正在输出:8
线程一正在输出:7
主线程正在输出:9
线程一正在输出:8
主线程正在输出:10
线程一正在输出:9
线程一正在输出:10
解释:运行结果可以看出当i=3的时候,线程一没有交替输出3,而是主线程接着输出,只有当线程休眠完了之后,两个线程菜会恢复交替执行*/
线程休眠
最新推荐文章于 2024-01-06 17:49:24 发布