草庐IT

定时关机

全部标签

linux - 使用硬件定时器是实现进程调度的唯一方法吗?

我读到操作系统使用以下方法实现调度:CPU必须有一个硬件定时器,每X次触发一次中断毫秒。一旦定时器中断触发,定时器中断处理程序将执行使CPU开始执行另一个进程的指令(或者我想我应该说的另一个线程)。我的问题是:我刚才描述的方法是实现调度的唯一方法吗? 最佳答案 没有。基本上有两种在操作系统中实现多线程的基本方法:1)抢先式多任务处理通过抢占式多任务处理,您可以使用中断源来触发任务切换。大多数情况下,人们会在定时器ISR(中断服务例程)内进行任务切换,以防执行长时间运行的任务并且没有发生其他硬件事件。万一发生了其他硬件事件,还可以进行

c# - 如何使定时器以重复的方式触发

我有一个计时器,我想在每个星期一下午5点过期。在测试应用程序时,一到星期一下午5点,我的任务就会按预期触发。但是,当我将系统日期和时间更改为下周下午5点时,任务不会触发。这是我的代码:Timertimer=newTimer(callback,application,timeToEnd,TimeSpan.FromDays(7));我感觉它与TimeSpan.FromDays(7)部分有关。有什么想法吗? 最佳答案 这不是Timer的好用法。您应该创建一个控制台应用程序来执行您想要的操作,然后使用WindowsScheduler或第3方

windows - 内核态定时器

我怎样才能在内核模式下有一个计时器,以便在WindowsXP及更高版本上大约每秒调用我的驱动程序中的指定函数?我应该能够使用函数中的所有函数(特别是ZwQuerySystemInformation)。我不需要高分辨率计时器或毫秒精度或类似的东西,我只需要一种方法来安排一个函数在内核模式下每秒运行一次,并且它必须在所有32位系统windowsxp和更高版本上工作。 最佳答案 通过KeInitializeTimer创建内核定时器.使用KeSetTimerEx设置定时器并使用1s的周期。在您的驱动程序中创建一个线程。在线程中,调用KeWa

windows电脑关机开机后没声音,重启就有声音故障处理方法

今天遇到一件非常奇葩的windows电脑, 从关机状态下进入系统没有声音,且从以下几点判断声卡硬件及驱动不存在故障,详见如下:1、开机后任务栏右下角声音图标正常2、声音设置——扬声器/麦克风(Realtek(R)Audio)正常;3、windows+x键,选择“设备管理器”,找到“音频输入与输出”,麦克风/扬声器,右击属性,均显示这个设备运行正常。4、windows+r运行services.msc,找到声卡对应的服务---WindowsAudio,鼠标左键选中,右键选择属性——常规——启动类型——自动。发现正常呀。 5、卸载驱动后,用驱动精灵等重新安装推荐的声卡驱动,现象依旧—— 从关机状态下

c# - 如何检测 Windows 系统是否支持唤醒定时器

我需要以编程方式检测我的计算机(Windows7/8)是否支持唤醒计时器。到目前为止,我已经完成了以下工作:GuidactivePowerScheme=GetActivePowerSchemeGuid();IntPtrptrActiveGuid=IntPtr.Zero;uintbuffSize=0;uintres=PowerReadACValue(IntPtr.Zero,refactivePowerScheme,refApplicationConstants.SLEEPGUID,refApplicationConstants.WAKETIMERGUID,IntPtr.Zero,IntP

windows - 批量关机命令表现得像 sleep 命令,如何解决?

我在本网站其他帖子的帮助下结合我所掌握的初学者知识创建了这个批处理文件。它的目的是在设定的时间后关闭或休眠计算机,这样我就可以让它完成任务而无需在它完成后整夜运行。问题是,如果我运行shutdown命令,它似乎会关机,但当打开时会恢复所有打开的应用程序,有时无法正常启动。(例如,需要1-2次开机才能真正开机,而不是稍后再次关机。)运行全新安装的Windows10homex64这是我对该文件的完整代码:@echooffcolor3Fmodecon:cols=52lines=5echoMinutesuntilevent?set/pmin=set/asec="min*60"echoShutd

c++ - 如何在 VC++ 的 Windows 7 或 Windows 8 中延迟关机/重启/休眠

我正在使用使用C++开发的基于vs2012的应用程序。如果应用程序正在运行并进行一些处理,并且用户触发重启/关机或休眠,则重启/关机应该暂停,直到应用程序处理完成。应用程序处理完成后,Windows应恢复重启/关闭。如果可以提供一些引用或示例代码,我将不胜感激谢谢 最佳答案 我做了这样的事情boolshutdownSystemWin(EShutdownActionsaction){HANDLEhToken;TOKEN_PRIVILEGEStkp;//Getatokenforthisprocess.if(!OpenProcessTok

我如何在一定时期内进行timertask运行

我有一种方法必须每0.5秒拍摄一次屏幕的照片,并将图像保存在HD上的位置。但是我需要他在上午11:55至下午4:55之间跑步。到下午5:00我只需要开始任务,我无法停止它。我的疑问是:我该如何安排线程仅在一定时间内运行。publicclassMain{privateToolkita=Toolkit.getDefaultToolkit();privateDimensionscreenSize=a.getScreenSize();privateRectanglescreenLimit=newRectangle(screenSize);privateRobotrobot;privateFilefil

c++ - Qt应用程序阻塞系统关机

我有一个Qt4.6.2应用程序,在WindowsXPSP2x64系统上运行。当我按下系统上的物理电源/关机按钮时,当我的应用程序运行时什么也不会发生,应用程序不会关闭,系统也不会关机。如果我转到开始菜单并单击关闭,那么我的应用程序将关闭但系统不会关闭。关闭我的应用后,系统会以两种方式正常关闭。有什么想法可以让我的应用程序正常运行并允许系统正确关闭吗?谢谢,扎克 最佳答案 阅读有关QSessionManager和QApplication::commitData的内容——它更符合Qt的方式

c# - .NET 中定时器的最大精度是多少?

我想知道System.Timers中Timer类的精度是多少,因为它是double(这似乎表明您可以有几分之一毫秒)。这是什么? 最佳答案 Windows桌面操作系统在40毫秒以下确实不准确。操作系统根本不是实时的,因此会出现明显的不确定性抖动。这意味着虽然它可能会报告精确到毫秒甚至更小的值,但您不能指望这些值真正有意义。因此,即使Timer间隔设置为某个亚毫秒值,您也不能依赖设置和触发之间的时间来实现您所说的实际时间。除此之外,您正在运行的整个框架是不确定的(GC可能会暂停您并在Timer应该触发的时间进行收集)并且您最终会面临大