草庐IT

分布式定时

全部标签

windows - Delphi定时器比毫秒更精确

我在Delphi中有一个程序,它以25赫兹(每秒25次)的速度从外部应用程序接收帧,然后通过创建1-2个额外的帧将其转换为60赫兹(每秒60帧)。我需要通过不断构建帧缓冲区并从此处从单独的线程输出帧来输出这些额外的帧。问题是1000/60是16.66667,这意味着我不能只在16或17毫秒的“间隔”中发送帧,我需要它更精确。我如何在Delphi/Windows中执行此操作? 最佳答案 使用multimediatimer通过Win32APItimeSetEvent()或CreateTimerQueueTimer()功能。

windows - 定时器队列,立即终止一个定时器?

我正在尝试通过使用Windows计时器队列在WindowsGDI上实现高每秒帧数。相关的API是CreateTimerQueue、DeleteTimerQueueEx、CreateTimerQueueTimer,和DeleteTimerQueueTimer。计时器是使用CreateTimerQueueTimer(&m_timer,m_timer_queue,TimerCallback,this,0,20,WT_EXECUTEINTIMERTHREAD);创建的,以实现大约50fps的速度。GDI操作(后台存储中的一些绘制,加上InvalidateRect)不能是异步的,因此我不能选择其

windows - 用于关闭的批处理文件,带有提示选项以中止它并在一定时间后重新运行?

我有一个用于关闭PC的批处理文件@echooffShutdown/s/f/t600/c"Yoursystemwillshutdownin10min"要中止这个操作我还有一个shutdown/a现在我正在寻找的是,当我启动第一个批处理文件时,它应该提示我是否中止操作。如果我中止操作,它应该在10分钟后提示我相同的选项,我希望它在循环中,直到我不接受要完成的操作。我用Google搜索过,但到目前为止一无所获。只有一些第3方工具可以在没有中止选项的情况下进行关机。这可能吗?如果是,我们将不胜感激。 最佳答案 这是在一个批处理文件中完成的。

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

【历史上的今天】3 月 3 日:AT&T 成立;全球最大分布式计算项目正式停止;家酿俱乐部首次会议

整理|王启隆透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。今天是2023年3月3日,在176年前的今天,1847年3月3日,电话的发明人亚历山大·格拉汉姆·贝尔(AlexanderGrahamBell)出生。贝尔发明了世界上第一台可用的电话机,创建了贝尔电话公司,被世界誉为“电话之父”。为了纪念贝尔的功绩,后世将电学和声学中计量功率或功率密度比值的一种单位命名为“贝尔”。回顾计算机历史的3月3日,这一天还发生过哪些关键事件呢?1885年3月3日:美国电报电话公司(AT&T)成立美国电报电话公司(AT&T)是美国的一间跨国集团控股公司,是全美最大的固网电话及移动电话电信服务供应商,此

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

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

分布式日志GrayLog使用

文章目录[GrayLog](https://docs.graylog.org/)简介GrayLog功能分析单机部署GrayLogspring整合graylogGrayLog常用查询语法更多操作GrayLog简介GrayLog是一个轻量型的分布式日志管理平台,一个开源的日志聚合、分析、审计、展示和预警工具。在功能上来说,和ELK类似,但又比ELK要简单轻量许多。依靠着更加简洁,高效,部署使用简单的优势很快受到许多公司的青睐。GrayLog包含Elasticsearch、MongoDb和Graylog三个模块。其中,Elasticsearch用来持久化存储和检索日志文件数据,MongoDb用来存储

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

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