javasleep(Java使用sleep方法暂停线程Thread)
一、thread.sleep会释放线程吗
是的,使用`Thread.sleep()`方法会使当前线程进入阻塞状态,暂时停止执行,此时线程会释放它所占用的资源,允许其他线程使用CPU。
当线程休眠结束后,它会重新进入就绪状态,等待CPU时间的分配。
二、使用Timer和sleep有什么区别
sleep直接调用内核的指令,所在线程挂起,CPU执行队列的重排序Timer每次会在线程池中取新的线程来执行,存在多次访问线程池的损耗
三、JAVA在主方法中Thread.sleep();会让主方法休眠吗
在主方法中调用Thread.sleep();会让主方法休眠的,我们知道在JAVA中应用是通过main方法入口开始启动的,所以main方法中的线程称为主线程,如下代码:
publicclassA{
publicstaticvoidmain(String[]args){
System.out.println("我是主线程开始");
Thread.sleep(5000);
System.out.println("我是主线程结束");
}
}
运行上面的代码时,可以发现main快速的在控制台上打印出"我是主线程开始"信息,之后主线程被休眠了,需要在5秒之后才能打印出"我是主线程结束"信息。