0

我正在使用makecontext()getcontext()swapcontext()在 C 中实现一个线程库。我需要实现一个调度程序,它每 5 毫秒调用一次,以便与另一个线程(循环)切换上下文。我怎样才能实现这个计时器功能?如果我将计时器放在调度程序中,那么在调度程序未运行时将不可能增加时间。有没有办法将计时器与特定进程相关联,无论上下文处于活动状态,该进程都会更新?

4

1 回答 1

0

基于setitimer()系统调用的解决方案可以完成这项工作。可以对此进行编程以触发循环SIGALRM信号。然后可以附加一个触发调度程序的信号处理程序。

于 2021-01-18T16:33:44.657 回答