我用C语言创建了一个函数库。其将由用户通过用户界面应用程序来访问。现在我需要创建一个独立的模块,它将被库函数使用。当我调用任何库函数时..新函数(独立模块)也应该并行或并发运行。
发布于 2017-07-22 21:19:31
为UI应用编写可移植的库非常困难。它依赖于操作系统和UI框架。
Posix定时器(Timer_create)是每个进程的定时器。它可能与您的UI框架或其他库不兼容。我建议使用UI框架,因为大多数现代UI框架都是事件驱动的,它内置了(大多数)毫秒精度的计时器。定时器回调是在运行mainloop的(main)线程中调用的。
我可以想象有两种方法。
在这两种情况下,都必须使用UI框架上下文(或视图)初始化库。
发布于 2017-07-22 20:26:20
您可以使用alarm()触发SIGALRM信号,并在调用SIGALRM之前通过signal()设置alarm()处理程序。
信号处理程序将在经过指定的秒数后调用
如果需要微秒级别的计时器,可以使用ualarm
编辑:正如@alk ualarm提到的,它被标记为过时,你可以使用time_create系列函数来创建和设置定时器
https://stackoverflow.com/questions/45254396
复制相似问题