使用要带上头文件:
#include <windows.h>
Sleep函数:
功 能: 执行挂起一段时间
用 法: unsigned sleep(unsigned seconds)
注意:
1.在VC中使用带上头文件#include <windows.h>,在Linux下,gcc编译器中,使用的头文件因gcc版本的不同而不同#include <unistd.h>
2.在VC中,Sleep中的第一个英文字符为大写的"S" ,在linux下不要大写,在标准C中是sleep, 不要大写,简单的说VC用Sleep, 别的一律使用sleep。
3.在VC中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000)在Linux下,sleep()里面的单位是秒,而不是毫秒。
示例:
#include<stdio.h>
#include <windows.h>
int main()
{
int a=100
Sleep(3000)
printf("%d",a)
return 0
}
usleep函数:
功能: usleep功能把进程挂起一段时间, 单位是微秒us(百万分之一秒)。
语法: void usleep(int micro_seconds)
返回值: 无
注意:这个函数不能工作在 Windows *** 作系统中。
usleep() 与sleep()类似,用于延迟挂起进程。进程被挂起放到reday queue。只是一般情况下,延迟时间数量级是秒的时候,尽可能使用sleep()函数。且此函数已被废除,可使用nanosleep。
如果延迟时间为几十毫秒,或者更小,尽可能使用usleep()函数。这样才能最佳的利用CPU时间。
delay函数:
功 能: 将程序的执行暂停一段时间,单位是毫秒ms(千分之一秒)
用 法: void delay(unsigned milliseconds)
示例:
#include<dos.h>
int main(void)
{
sound(440)
delay(500)
nosound()
return 0
}
delay()是循环等待,该进程还在运行,占用处理器。
sleep()不同,它会被挂起,把处理器让给其他的进程。
在 Windows 内核中,可以调用 KeDelayExecutionThread 函数来实现类似于 Sleep 的功能。该函数将让调用线程延迟执行一段时间,例如,让线程休眠 1 毫秒。下面是一个示例程序,演示如何在 Windows 内核中使用 KeDelayExecutionThread 函数来实现 Sleep 功能:
```
#include
VOID DriverUnload(PDRIVER_OBJECT DriverObject)
{
UNREFERENCED_PARAMETER(DriverObject)
}
NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
{
UNREFERENCED_PARAMETER(RegistryPath)
KdPrint(("DriverEntry called\n"))
// 延迟执行 1 秒钟,相当于 Sleep(100)
LARGE_INTEGER delayInterval
delayInterval.QuadPart = -1 * 100 * 100 * 10
KeDelayExecutionThread(KernelMode, FALSE, &delayInterval)
KdPrint(("Delay finished\n"))
DriverObject->DriverUnload = DriverUnload
return STATUS_SUCCESS
}
```
这个示例程序将延迟执行 1 秒钟,然后在调用完成后卸载驱动程序。在延迟执行的部分,我们创建了一个 `LARGE_INTEGER` 类型的变量 `delayInterval`,用它来表示需要延迟的时间。然后,我们将其设置为负数,相当于指定延迟的时间间隔,这里我们将其设为 1 秒钟的时间间隔。
最后,我们调用 KeDelayExecutionThread 函数,并传递给它 delayInterval 参数,指定需要延迟执行的时间间隔。
需要注意的是,该示例程序的环境为 Windows 内核,因此需要使用相应的开发工具来编译和测试驱动程序。如果你是想在用户模式下实现类似 Sleep 的功能,请使用标准 C/C++ 库中的 Sleep 函数。
代码为:shutdown -h,具体使用方法如下:
1、首先,右键单击开始菜单,然后选择“运行”选项,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,在“运行”窗口中输入“ cmd”命令,然后单击“确定”选项,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,在cmd窗口中输入“
shutdown -s”命令,然后按键盘上的Enter键就可以执行关机 *** 作,如下图所示,然后进入下一步。
4、或者,在cmd窗口中键入“
shutdown -h”命令,然后按键盘上的Enter键就可以执行睡眠 *** 作了,如下图所示。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)