gpt4 book ai didi

system.reactive - 在 Reactive Extensions 中实现自定义的基于硬件计时器的调度程序

转载 作者:行者123 更新时间:2023-12-04 07:08:28 27 4
gpt4 key购买 nike

是否可以为响应式扩展实现基于硬件计时器的自定义调度程序?我该如何开始,有什么好的例子吗?

我有一个硬件可以每毫秒向我发送一个准确的中断。我想利用它来创建更精确的 RX 调度程序。

更新

感谢 Asti 回答中的关键字,我找到了这个 blog post ,这让我发现我可以实现 VirtualTimeScheduler<TAbsolute, TRelative> ,因为我的硬件设备为我提供了绝对时间戳。

最佳答案

我不确定它的准确度如何(在 GC 系统中很难保证截止日期),但我可能会这样开始。

  • 首先实现 IScheduler界面。

  • 在内部,使用 System.Reactive.Concurrency.SchedulerQueue<TAbsolute>类维护计划项目的优先队列。 TAbsolute是每个预定项目的绝对到期时间的类型,因此如果您选择最接近硬件提供的数字类型可能会更容易。

  • 通过为项目使用优先队列,您只需评估队列中的第一个项目是否到期。您或许可以缓存下一个到期时间,并在每次中断时对其进行比较。

  • 此外,实现 ISchedulerPeriodic界面,这使得它可以针对重复出现的计划进行更优化。

祝你好运!

关于system.reactive - 在 Reactive Extensions 中实现自定义的基于硬件计时器的调度程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13740609/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com