计算机程序(或进程、任务或线程等)进入不活跃状态并持续一段时间,称为“睡眠”。当引发程序睡眠的代码所设定的内部计时器归零,或是此程序收到唤醒信号或中断时,程序将恢复执行。
睡眠中的程序也有可能不经唤醒而直接被终止。
睡眠指令通常需要输入一个参数,以说明程序睡眠至少多长时间后才恢复执行。这一时间参数的单位通常是秒,有些操作系统可以提供更高精度,例如以毫秒或微秒作为单位。
Windows 操作系统中,Sleep()
函数仅有一个参数,即以毫秒计的睡眠时间。Sleep()
函数包含于 kernel32.dll 中,但是原生操作系统的批处理文件却并不支持这一指令。安装诸如Windows 2003 Resource Kit等运行环境后,用户便可使用这一指令。
在类Unix操作系统中,sleep()
函数使用以秒做单位的无符号整数作为输入参数。如果需要更精确的控制睡眠时间,可以使用 nanosleep()
函数。
Windows 操作系统中:
Sleep(2*1000); // 睡眠2秒