操作系统中睡眠(系统调用)的实现
在本文中,我们将了解操作系统中的睡眠(系统调用)。在计算机科学领域,系统调用是一种提供进程和操作系统之间接口的机制。简单来说,它基本上是一种计算机程序向操作系统内核请求服务的方法。
操作系统中的睡眠是什么?
Sleep 是一个计算机程序,当您调用此方法时,它会将进程设置为等待指定的时间量继续进行,然后去寻找其他要运行的进程。
sleep 系统调用用于将时间值作为参数,指定进程在恢复执行之前休眠的最短时间。
句法 -
sleep(time);
使用的方法:
- 睡觉() -
此方法用于使线程休眠指定的时间。 - 开始() -
此方法用于为线程创建单独的调用堆栈。 - 跑() -
如果线程是使用单独的 Runnable 对象构造的,则使用此方法。否则这个方法什么都不做并返回。
示例 1 –
Java
class TestSleep extends Thread{
public void run(){
for(int i=1;i<5;i++){
try{Thread.sleep(300);}catch(InterruptedException e){System.out.println(e);}
System.out.println(i);
}
}
public static void main(String args[]){
TestSleep t1=new TestSleep();
TestSleep t2=new TestSleep();
t1.start();
t2.start();
}
}
输出 -
Note - In the above example you can notice tha at a time only one thread has been executed and if
you sleep a thread for thespecified time,the thread shedular picks up another thread and
so on.
使用 Tread.sleep() 时要记住的要点:
- 每当您使用此方法时,它都会暂停当前线程的执行。
- 当线程处于睡眠状态时任何其他线程中断时,将抛出中断异常。