📜  操作系统中睡眠(系统调用)的实现

📅  最后修改于: 2022-05-13 01:56:11.368000             🧑  作者: Mango

操作系统中睡眠(系统调用)的实现

在本文中,我们将了解操作系统中的睡眠(系统调用)。在计算机科学领域,系统调用是一种提供进程和操作系统之间接口的机制。简单来说,它基本上是一种计算机程序向操作系统内核请求服务的方法。

操作系统中的睡眠是什么?
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() 时要记住的要点:

  • 每当您使用此方法时,它都会暂停当前线程的执行。
  • 当线程处于睡眠状态时任何其他线程中断时,将抛出中断异常。