线程休眠

顾名思义,线程休眠就是让线程进入睡眠状态,也是转为阻塞状态,这个时候的线程让出了CPU。线程休眠是sleep()方法,它怎么用呢?来看看源码:

public static native void sleep(long millis) throws InterruptedException;

public static void sleep(long millis, int nanos) throws InterruptedException{}

sleep方法有两个构造函数,都是static修饰的,这意味着使用的时候直接Thread.sleep()就可以了。第一个构造函数的参数是毫秒,意味着线程要休眠多少毫秒,第二个构造函数的参数是毫秒和纳秒,这意味着休眠时长可以更加精准。sleep方法抛出InterruptedException中断异常,这个异常需要我们手动检查。下面看看使用案例:

class MyThread6 implements Runnable{
	@Override
	public void run() {
		
		for(int i = 0;  i < 20; i++) {
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			System.out.println(Thread.currentThread().getName() + "运行, i = " + i);
		}
		
	}
}
public class Sleep {

	public static void main(String[] args) {
		
		MyThread6 threadBody = new MyThread6();
		
		new Thread(threadBody, "运行线程").start();

	}

}

实现的结果是一秒打印一行语句。

使用时要注意:

1、由于sleep()方法是static,不由对象名调用,所以哪个线程调用sleep()方法,哪个线程就休眠。

2、线程休眠结束后,会转为就绪状态。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值