如何在 OS X C 代码中创建异步计时器?

2024-03-15

所以这个问题实际上是“为什么 time.h 在 OS X 和 Linux 上不一样?”但是,我已经接受了这些分歧。

为了在“Unix”系统上创建计时器,我遵循了本教程http://www.helsinki.fi/atk/unix/dec_manuals/DOC_40D/APS33DTE/DOCU_007.HTM#timer-type-sec http://www.helsinki.fi/atk/unix/dec_manuals/DOC_40D/APS33DTE/DOCU_007.HTM#timer-type-sec

这需要使用<sys/time.h>并打电话timer_create(),然后为信号类型设置信号处理程序。这我知道该怎么做。问题是,同样的事情是如何在 OS X 上实现的呢?

需要注意的关键是这些定时器需要是实时的,即异步排队并且必须使用sa_sigaction的领域struct sigaction,以便与计时器警报关联的元数据可以传递到信号处理程序。这里有更详细的描述http://www.helsinki.fi/atk/unix/dec_manuals/DOC_40D/APS33DTE/DOCU_006.HTM#sigevent-sec http://www.helsinki.fi/atk/unix/dec_manuals/DOC_40D/APS33DTE/DOCU_006.HTM#sigevent-sec.


你有没有调查过setitimer() https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man2/setitimer.2.html?

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

如何在 OS X C 代码中创建异步计时器? 的相关文章

随机推荐

  • 如何设置Redis最大内存?

    我发现配置在this http redis io topics config 它只是说使用指定配置的命令 redis server
  • 如何从受密码保护的站点更新 Eclipse 插件?

    我在 这个网站 http javaforge com project HGE http javaforge com project HGE 我需要 注册 才能下载 Mercurial 的 Eclipse 插件 我注册了 但似乎什么也没发生
  • Wix:如何警告用户而不是使用属性终止安装?

    我正在 x64 计算机上搜索 Microsoft Access 数据库引擎的注册表项 这是我的代码
  • 将请求的文件从 API 传输到 API:NestJS(HttpService: Axios) 到 Python(flask)

    我正在尝试将文件从 NestJS API 传输到 Python Flask API 此过程将由 Nest API 上的 POST 请求 FormData 文件 触发 然后 Nest api 应该将文件发送到 Python api NestJ
  • MongoEngine - 通过 id 从 ListField 中提取引用

    我想删除一些引用ListField ReferenceField 仅基于其价值 我将有关图像的信息存储在以下模型中 class ImageUrl Document src UrlField counter IntField deleted
  • torchvision和tensorflow-gpu导入错误

    运行这个 import torchvision import tensorflow 产生错误 SystemError google protobuf pyext descriptor cc 354 内部函数的参数错误 但是 交换导入的顺序不
  • Tomcat不返回图片资源

    我正在使用 eclipse 并使用 eclipse 中的 tomcat6 运行我的 jsp servlet 我的 servlet 为我创建了一个图像 并将其存储在我的 webapps 的目录中 但是 当我尝试从 JSP 访问此图像时 它返回
  • React中输入的屏蔽卡号

    我正在学习 React 并希望输入有两个约束 16个数字 每四个后面加一个空格 import React Component from react export default class CardNumberInput extends C
  • C 预处理器插入的空格

    假设我们得到以下输入 C 代码 define Y 20 define A x 10 x Y A A 40 gcc E像这样的输出 10 10 40 20 20 gcc E traditional cpp像这样的输出 10 10 40 20
  • Linux 内核是如何测试的?

    Linux 内核开发人员如何在本地测试他们的代码以及在提交代码后 他们是否使用某种单元测试和构建自动化 测试计划 Linux 内核非常重视社区测试 通常 任何开发人员都会在提交之前测试自己的代码 并且通常他们会使用 Linus 的内核开发版
  • Javascript数组排序和唯一性

    我有一个像这样的 JavaScript 数组 var myData 237 124 255 124 366 255 我需要数组元素是唯一的并且已排序 myData 0 124 myData 1 237 myData 2 255 myData
  • 发出 Facebook 好友请求时可以获取吗?

    friend request 流包含 2 个字段 uid from 和 uid to 没有关于提出请求的日期信息 还有其他表包含该信息吗 Thanks 在 Facebook 论坛上得到回复 这是不可能的
  • 一段时间后服务停止工作。需要连续工作

    我正在开发一个计步器应用程序 在其中计算行走的步数并在午夜将其更新到服务器 我有一个持续运行的服务来完成这一切 这是我的服务 public class StepCounterService extends Service implement
  • jquery .hover 不适用于 AJAX 呈现的元素

    我有一些通过 AJAX 调用创建的元素 在这些元素中 有一个子元素 当悬停时需要显示另一个动态创建的子元素 当我运行 hoverjquery 在小提琴中 工作正常 当我在代码中实现它时 它不想工作 我想知道这是否取决于什么时候 hover加
  • 使用 Apache HttpClient 的 Java HTTPPost 请求

    我需要一个java程序来生成以下请求 我正在使用 Apache HttpClient 库 但仍然无法生成如下请求 这是我的 python 程序生成的 我编写了一个等效的 java 程序 但它抛出了403 2012 09 10 15 12 0
  • Java GC 是确定性的吗

    我正在具有相同 JVM 参数的 Java 产品上多次运行同一场景 每次运行都会在持续时间和 开始时间 方面给出不同的 GC 行为 这是预期的吗 您是否手动运行System gc 因为这并不能保证立即 甚至根本不 真正执行垃圾收集 对于自动垃
  • Delphi:系统菜单打开了吗?

    在 Delphi 中 我需要一个函数来确定系统菜单 分别是窗口菜 单 单击图标时出现的菜单 是否打开 原因是我正在编写一个反键盘记录器功能 它将垃圾发送到当前活动的编辑控件 这也阻止了键盘记录器读取 WinAPI 消息来读取内容 但是 如果
  • 为 bash --login -i 执行自定义初始化脚本,例如从快捷方式更改为自定义目录

    现在我在 Windows 7 上使用 MSysGit 它是从 bat 文件启动的 该文件本身调用bash exe login i启动一个外壳 此时它会执行用户主目录中的 bashrc 文件 以及其他文件 我使用这个脚本来设置环境并cd到起始
  • 如何不在主线程上运行服务?

    我正在尝试启动service然后打开socket与服务器建立连接 单击按钮我创建新的Thread然后开始服务 Thread t new Thread public void run mIntent new Intent MainActivi
  • 如何在 OS X C 代码中创建异步计时器?

    所以这个问题实际上是 为什么 time h 在 OS X 和 Linux 上不一样 但是 我已经接受了这些分歧 为了在 Unix 系统上创建计时器 我遵循了本教程http www helsinki fi atk unix dec manua