支持重叠 I/O(对于 IOCP)的定时器?

2023-12-29

我需要在基于 I/O 完成端口 (IOCP) 的应用程序中添加计时器支持。我想避免使用特定线程来管理计时器。

在 Linux 上,您可以创建一个通过文件描述符传递过期通知的计时器(请参阅timerfd.h man),因此如果您的应用程序基于 epoll,那么将它与 epoll 一起使用是非常好的。

在 Windows 上,您可以将“可等待计时器”与异步过程调用 (ACP) 结合使用(请参阅http://msdn.microsoft.com/en-us/library/ms686898(v=VS.85).aspx http://msdn.microsoft.com/en-us/library/ms686898(v=VS.85).aspx)

如果您有兴趣,kqueue(BSD、Mac OS)默认支持计时器(请参阅 EVFILT_TIMER)。

对于 I/O 完成端口,我们必须使用支持重叠 I/O 的对象。那么,IOCP有这样的定时器吗?

此致,

Cédrics


据我所知,没有定时器在到期时生成 IOCP 完成。

你可以尝试Windows定时器队列;创建定时器队列定时器 http://msdn.microsoft.com/en-us/library/ms682485(v=VS.85).aspx.

我最终编写了自己的计时器队列,它确实使用了额外的线程来运行计时器,所以它可能对您没有好处:请参阅here http://www.lenholgate.com/blog/2004/05/practical-testing.html有关我使用 TDD 和完整单元测试实现队列的一系列文章。我正在实现具有相同接口的更高性能的 TimerWheel,但同样将使用外部线程来管理计时器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

支持重叠 I/O(对于 IOCP)的定时器? 的相关文章

  • System.Timers.Timer 与 System.Threading.Timer

    我最近一直在检查一些可能的计时器 并且System Threading Timer https learn microsoft com en us dotnet api system threading timer and System T
  • javascript 图像在“x”时间后发生变化

    我将如何向此 js 添加一个计时器 以便图像在 x 时间后自动更改 目前 更改是通过带有 rel 属性的 a href 进行的 但仍然需要带有 rel 的函数 js document ready function button a clic
  • Objective-C:在 SpriteKit 中向计时器添加 10 秒

    我使用了别人的代码在 SpriteKit 中编写计时器 并对其进行了一些调整 我的代码如下所示 void createTimerWithDuration NSInteger seconds position CGPoint position
  • NSTimer 计时器WithTimeInterval:不工作

    在我的项目中实现之前 我已经创建了一个带有计时器的测试应用程序 这是我第一次使用计时器 但问题是当我使用计时器实现时 NSTimer timerWithTimeInterval target selector userInfo repeat
  • setTimeout 的最小毫秒值是多少?

    我想把 var minValue 0 if typeof callback function setTimeout callback minValue 当我用 JavaScript 实现回调函数时 这段代码 但我发现现代浏览器和一些旧浏览器
  • C++ 非阻塞异步定时器

    我读过很多关于这个问题的帖子 但没有找到这个问题的答案 我想制作一个在后台运行并在完成后执行某些操作的计时器类 甚至我想一次调用多个异步倒计时的计时器 我在搜索这个类时发现了它 它似乎有效 但不在后台 我怎样才能将它转换为我想要的 Time
  • 快速使函数中的计时器无效

    我正在尝试创建一个带有主比赛时钟和开始 停止按钮的曲棍球比赛时钟应用程序 但我的 stopGameclock 函数遇到了问题 计时器不会失效 通过在这里搜索其他问题 我认为这与我有关 var gameclockTimer NSTimer 接
  • 在 QThread 中启动 QTimer

    我正在尝试在特定线程中启动 QTimer 但是 计时器似乎没有执行 也没有打印任何内容 与定时器 槽或线程有关吗 main cpp include MyThread h include
  • 定时器在跨线程中不起作用

    我有2个全球System Windows Forms Timer in my form 两者都在表单的构造函数中初始化 但还没有开始 构造函数启动一个新线程该线程启用并启动两个计时器 显然这就是全部交叉螺纹 但它不会引发任何跨线程异常 但它
  • 如何使用计时器对图像应用淡入淡出过渡效果?

    我正在尝试在两个 PictureBox 控件之间进行淡入淡出过渡 我使用计时器来更改两个 PictureBox 的不透明度GetPixel and SetPixel每当时间流逝 在这个阶段 问题是这段代码引发了异常 System Inval
  • 当 Activity 不在前面时,暂停 Android 中的 CountDownTimer

    我有一个使用从 10 开始倒数的 CountDownTimer 的活动 当该活动不再处于焦点时 例如用户接到电话或其他情况 如何暂停该计时器 然后在用户返回时恢复计时器活动 这可能吗 我会向 onTick 处理程序添加一些内容 以保存类中计
  • 在特定时间段内使用 JavaScript 更改 HTML 元素的背景颜色?

    我有大约 26 个 html 元素 我希望它们在 JavaScript 中具有以下效果 有可能做这样的事情吗 我试图这样做 var j 2000 for i 1 i lt 26 i setInterval function document
  • C 中的非阻塞睡眠定时器

    我正在为 Windows 寻找一个很好的 C 语言非阻塞睡眠定时器 目前我正在使用sleep 10 这当然是一个阻塞计时器 另外 我希望它不消耗系统资源 就像我的睡眠计时器一样 它不使用任何我满意的 CPU 或系统资源 那么 我可以使用的最
  • C# - System.Timers.Timer 的替代方案,在特定时间调用函数

    我想在特定时间调用 C 应用程序上的特定函数 起初我考虑使用Timer System Time Timer 但很快就变得无法使用 为什么 简单的 Timer 类需要一个Interval以毫秒为单位 但考虑到我可能希望执行该函数 假设在一周内
  • 如何通过该计时器的回调函数更改 System.Threading.Timer 中的间隔时间?

    如何通过该计时器的回调函数更改 System Threading Timer 中的时间间隔 它是否正确 这样做 没有发生 public class TestTimer private static Timer timer new Timer
  • 为 Android 实现 Firebase 服务器端倒计时器?

    有没有办法在 Android Studio 中实现 Firebase 服务器端倒计时器 我希望计时器位于服务器端 这意味着每当用户打开我的应用程序时 所有用户的计数器始终会在同一时间 我阅读了以下问题的答案this https stacko
  • 一段时间后 NSTimer 停止在后台触发

    嘿 我正在开发一个应用程序 其中我必须每 30 秒调用一次 API 所以我为它创建了 NSTimer 但是当我的应用程序进入后台时 计时器会在 3 4 分钟后停止触发 所以它只能在后台运行 3 4 分钟 但之后就不再运行了 我如何修改我的代
  • JavaFX 的 Swing 计时器替代方案以及线程管理差异

    使用 JavaFX 的 Swing 计时器是否安全 或者 Swing 有特殊的替代方案吗 JavaFX 和 Swing 的线程管理有什么区别 事实上我很想知道相当于摇摆计时器 SwingUtilities invokeLater and i
  • 计时器、事件和垃圾收集:我错过了什么吗?

    考虑以下代码 class TestTimerGC Form public TestTimerGC Button btnGC new Button btnGC Text GC btnGC Click sender e gt GC Collec
  • 如何实现urllib2.urlopen的超时控制

    如何在Python中实现对urllib2 urlopen的控制 我只是想监控如果5秒内没有xml数据返回 则切断此连接并重新连接 我应该使用一些计时器吗 谢谢 urllib2 urlopen http www example com tim

随机推荐

  • spring hibernate没有获取参数的值

    我尝试使用以下命令进行 API 调用post通过邮递员的方法到我的 Spring Boot 应用程序 这是输入 username name password 1234 age 12 salary 5000 role 1 这是控制器中的代码
  • 仅选择在特定时间发生的行

    我已经读过C csv和datetime列是一个object type 我想得到每一行23 45 00无论日期如何 都在其中 我想拥有datetime作为索引 我想转换datetimedatetime64 ns 的索引 我相信 pandas
  • Knockout JS单选按钮点击事件重置选择

    我在单选按钮列表上绑定了 选中 和 单击 事件 但每当单击单选按钮时 选择都不会保留 我一定做错了什么 如果你们能指出我正确的方向 我真的很感激 请参阅在这里小提琴 http jsfiddle net rasikasampath jhHkD
  • Postgres子查询,按子查询排序

    如果我有一个查询 例如 select from tbl where id in 10 20 9 4 返回的结果可能按以下顺序排列 4 9 10 20 但是如果想要维护传递到初始查询中的列表的顺序怎么办 你会如何处理这个问题 最终 我在这里使
  • 哪里可以下载Python3.3的Scipy? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想在Windows中安装Scipy for Python3 3 但我在以下链接中只找到了Python 3 2版本之前的Scipy安装文件 http
  • Django 1.7:如何使ManyToManyField成为必需的?

    我有一个 Django 模型ManyToManyField在里面 我需要要求用户在此字段中至少选择一个 M2M 值 我尝试设置blank False到M2M领域 但没有帮助 class Skill models Model name mod
  • 无法在 .NET Framework 4.7.2 项目中安装 Nuget 包

    In my WPF项目使用 NET Framework 4 7 2 in VS2017 我正在尝试安装互操作MSUtil dll https www nuget org packages Interop MSUtil dll 按照建议的 N
  • @ActiveProfile 和 spring.profiles.active

    这是我的 applicationContext 定义的一部分 用于检索一些属性
  • 用于检测 Objective-C 中类属性可用性的宏

    Xcode 8 引入了 Objective C 类属性 我想向 Objective C 库添加一个 不过 我希望该库仍然可以使用 Xcode 7 进行编译 我可以在编译时进行可用性检查吗 就像是 if hasFeature objc cla
  • 将 PHP 数组字符串转换为数组

    我有一个数组 myArray array key1 gt value1 key2 gt value2 我将其保存为变量 fileContents var dump myArray 如何将变量转换回用作常规数组 echo fileConten
  • 隔离存储文件异常

    我尝试创造IsolatedStorageFile使用以下代码 IsolatedStorageFile isf IsolatedStorageFile GetUserStoreForApplication 但我得到以下异常 IsolatedS
  • Pandas,带有 datetime64 列的数据框,按小时查询

    我有一个熊猫数据框df其中有一列由datetime64 e g
  • 当我将鼠标悬停在使用 jquery 的图标上时如何显示简单的文本框

    我在 html 中有一个输入字段 该字段旁边有一个帮助图标 当我将鼠标悬停在图标上时 我希望显示一条简单的文本消息 并且该文本消息应该在悬停时消失 有什么方法可以使用 jquery 来做到这一点吗 图标将是一个简单的图像 上面写着一个小问号
  • 如何使用 C# 连接到 Azure MySQL In App localdb

    我尝试了几种方法都没有成功 OdbcConnection MySqlConnection 使用 PHP 它在一分钟之内就可以工作 但我想使用 Web 服务 asmx 访问数据库 Web 服务正在返回正确的信息 MYSQLCONNSTR lo
  • 从 XML 文件中提取内容

    我有一个 C 应用程序 它使用按钮生成文件 目前 我想使用 C 从 XML 文件中提取内容并将其作为字符串传递 例如 在我的 XML 文件中 我有一个标签名称 我想使用 C 从 XML 文件中提取名称 我应该如何去实现它 以下是我当前拥有的
  • 无法替换 Python pandas 数据框中的特殊字符

    我正在 Windows 中使用 Python 3 5 我有一个数据框 其中 titles str类型列包含标题的标题 其中一些具有特殊字符 例如 我正在尝试用空格替换这些 using pandas replace 我尝试过各种迭代 但没有任
  • 在我的 Onsenui 应用程序中添加登录页面

    我想在进入主页之前设置一个登录页面 我怎样才能在这条指令之前做到这一点
  • 如何根据文化信息获取日期和时间格式?

    我想要的是 如果文化是 en US 那么 string dateFormat MM dd yyyy string timeFormat 24 00 hrs 如果文化是 en GB 那么 string dateFormat dd mmyyyy
  • 我们应该从 featuretools 的 DFS 中排除目标变量吗?

    当将数据帧作为实体集中的实体传递并对其使用 DFS 时 我们是否应该从 DFS 中排除目标变量 我有一个模型 在手动尝试传统的特征选择方法并使用特征工具来查看是否提高了分数后 该模型的 roc auc 分数为 0 76 因此 在包含目标变量
  • 支持重叠 I/O(对于 IOCP)的定时器?

    我需要在基于 I O 完成端口 IOCP 的应用程序中添加计时器支持 我想避免使用特定线程来管理计时器 在 Linux 上 您可以创建一个通过文件描述符传递过期通知的计时器 请参阅timerfd h man 因此如果您的应用程序基于 epo