我在C ..中创建了一个库函数,用户可以通过用户界面应用程序访问它。现在我需要创建一个将由库函数使用的独立模块。当我调用任何库函数时,新函数(独立模块)也应该并行或并发运行。
答案 0 :(得分:1)
为UI应用程序编写可移植库非常困难。它依赖于OS和UI框架。
Posix计时器(timer_create)是每个进程计时器。它可能与您的UI框架或其他库不兼容。我建议使用UI框架,因为大多数现代UI框架都是事件驱动的,内置计时器(大部分)毫秒分辨率。在mainloop运行的(主)线程中调用定时器回调。
我可以想象两种方法。
在这两种情况下,您必须使用UI框架上下文(或View)初始化lib。
答案 1 :(得分:0)
您可以在调用alarm()
之前使用SIGALRM
触发SIGALRM
信号并使用signal()
设置alarm()
处理程序。
将在经过指定的秒数后调用信号处理程序
如果您需要微秒级别的计时器,您可以使用ualarm
编辑:如@alk ualarm
所述,它被标记为已过时,您可以使用time_create族函数来创建和设置计时器