Linux 上的 C 异步、定时函数调用?

2023-11-21

Linux 上的 C 语言在一定延迟后异步调用函数的最简单、最有效的方法是什么(如 JavaScript 的setTimeout)或设置一个重复计时器定期调用它(类似于setInterval)?

虽然这个问题适用于Linux,但我希望有一种跨平台的方法。


最简单的 Linux 特定解决方案是使用alarm功能:

void alarm_handler (int signum)
{
    printf ("Five seconds passed!\n");
}

signal (SIGALRM, alarm_handler);
alarm (5);

getitimer and setitimer函数可用于创建更高精度的计时器。 (more...).

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

Linux 上的 C 异步、定时函数调用? 的相关文章

  • 为什么两个不同的 Base64 字符串的转换会返回相等的字节数组?

    我想知道为什么从 base64 字符串转换会为不同的字符串返回相同的字节数组 const string s1 dg const string s2 dq byte a1 Convert FromBase64String s1 byte a2
  • Google BQ:运行参数化查询,其中参数变量是 BQ 表目标

    我正在尝试从 Linux 命令行为 BQ 表目标运行 SQL 此 SQL 脚本将用于多个日期 客户端和 BQ 表目标 因此这需要在我的 BQ API 命令行调用中使用参数 标志 parameter 现在 我已经点击此链接来了解参数化查询 h
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 我们真的应该使用 Chef 来管理 sudoers 文件吗?

    这是我的问题 我担心如果 Chef 破坏了 sudoers 文件中的某些内容 可能是 Chef 用户错误地使用了说明书 那么服务器将完全无法访问 我讨厌我们完全失去客户的生产服务器 因为我们弄乱了 sudoers 文件并且无法再通过 ssh
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 从数据库检查数据的异步解决方案各种循环子句

    我想要做的是异步检查数据库并从中获取结果 在我的应用程序中我试图实现Asynchronously将此步骤解决为 从数据库中检查手机号码JsonArray循环子句的种类 Create JsonArray从结果 打印创建的数组 我学到了足够多的
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable

随机推荐

  • 如果角色包含空格,如何编写 AuthorizeAttribute

    我正在使用 MVC3 4 但这只是授权中的一般问题 我的角色之一在数据库中名为 Trip Leader 其中包含一个空格 I tried Authorize Roles Trip Leader Administrator 但它失败了 有人可
  • C++ 复制构造函数签名:重要吗

    我当前的实现使用大量具有此语法的复制构造函数 MyClass Myclass Myclass my class 它真的 功能上 不同于 MyClass MyClass const MyClass my class and why 有人建议我
  • 在 WinRT 应用程序中处理两根、三根、四根手指滑动手势

    我有以下代码 private Point initialpoint private void ManipulationStarted object sender ManipulationStartedRoutedEventArgs e in
  • java中的继承继承变量?

    据我了解继承的类也应该继承变量 那么为什么这段代码不起作用呢 public class a private int num public static void main String args b d new b class b exte
  • 为什么我的控件不接受键盘输入?

    我已经构建了一个自定义控件 我正在尝试向其发送输入 它将接受鼠标输入并正确报告 MouseDown MouseMove 和 MouseUp 但无论出于何种原因 它都不会接受键盘输入 当我单击它时 它不会获得焦点 并且我按下的任何键都会被已经
  • 动态更新ViewPager?

    我无法更新 ViewPager 中的内容 FragmentPagerAdapter 类中 instantiateItem 和 getItem 方法的正确用法是什么 我仅使用 getItem 来实例化并返回我的片段 Override publ
  • Cordova 3.1.0:找不到插件或不是 CDVPlugin

    我正在尝试构建我的第一个 Cordova 应用程序 但无法使用插件 我的应用程序是使用 Cordova 命令行界面构建的 因此我以这种方式添加了相机插件 cordova plugin add https git wip us apache
  • 无法在 WorkManager 中设置自定义工作工厂

    我使用此代码来设置我自己的工人工厂 val daggerWorkerFactory DaggerWorkerFactory toInjectInWorker val configuration Configuration Builder s
  • 如何通过 3d 到 2d 点对应估计相机位姿(使用 opencv)

    你好 我的目标是发展用于飞机 模拟器 驾驶舱的头部跟踪功能 以提供AR支持民用飞行员在视觉条件较差的情况下着陆和飞行 我的方法是检测我知道其 3D 坐标的特征点 在黑暗模拟器 LED 中 然后计算估计的 头戴式相机的 姿势 R t 旋转与平
  • 如何在 Matlab 中从 3D 矩阵制作视频

    我在 matlab 中有一大堆 2D 矩阵 它们应该组成一个 3D 矩阵 其中第三维是时间 我正在尝试从图像数据制作视频 我知道我可以使用 surf 使用二维矩阵之一制作曲面图 但我不确定要调用哪个命令来获取所有二维矩阵并将它们转换为曲面图
  • 带有自定义 ListView 的 DialogFragment

    我正在尝试创建一个 DialogFragment 它显示一个带有自定义 ListView 的对话框 public class MultiSelectDialogCustom extends DialogFragment ListView m
  • 如何使用流减少保留所有列表列表

    我面临以下问题 我有一个列表列表 我只想保留所有列表 我正在尝试处理流 private List
  • 如何在每次单击按钮时旋转 imageview 中的图像?

    这是java代码 我从图片库获取图像 我有一个按钮和一个ImageView 它只旋转一次 当我再次单击按钮时 它不会旋转图像 public class EditActivity extends ActionBarActivity priva
  • 为什么我无法使用 AT 命令接收短信?

    我想使用 AT 命令从我的电脑向我的手机发送 接收短信 我使用 USB 端口将手机连接到电脑 我的计算机检测到调制解调器 并且我能够从计算机向手机发送短信 但是我的电脑收不到短信 我正在展示我从 AT 编辑器获得的示例 AT CMGF 1
  • 如何在Xaml中单击时更改按钮内容?

    我有名为 保持按钮 的按钮内容 一旦我单击按钮 按钮内容应更改为 恢复 再次如果按下 恢复 按钮 则意味着 保持 应可见 XAML 代码
  • Intent 和 setContentView 之间的区别

    在我的主要活动中 加载视图作为意图或使用 setContentView 之间有区别吗 public class MainActivity extends Activity Override public void onCreate Bund
  • 理解 matplotlib 顶点

    我正在尝试在 matplotlib 中为散点图创建自定义标记 其中标记是具有固定高度和变化宽度的矩形 每个标记的宽度是 y 值的函数 我尝试过这样使用这段代码作为模板并假设如果给定 verts 一个 N 二维元组的列表 它会绘制具有相应第一
  • TSQL:如何将本地时间转换为UTC? (SQL Server 2008)

    我们正在处理一个需要处理来自不同时区和夏令时设置的全球时间数据的应用程序 这个想法是在内部以 UTC 格式存储所有内容 并且仅针对本地化用户界面来回转换 SQL Server 是否提供任何机制来处理给定时间 国家 地区和时区的翻译 这一定是
  • 杰克逊未填充所有属性

    我正在研究一个简单的例子Jackson library转换一个json串回Java object但我看到我的 java 对象上只设置了很少的属性 而不是所有属性 这是我的代码 import java io BufferedReader im
  • Linux 上的 C 异步、定时函数调用?

    Linux 上的 C 语言在一定延迟后异步调用函数的最简单 最有效的方法是什么 如 JavaScript 的setTimeout 或设置一个重复计时器定期调用它 类似于setInterval 虽然这个问题适用于Linux 但我希望有一种跨平