我希望所有线程(在 Linux 上运行的多线程 C 代码中)在特定时间后调用一个函数。我试过了alarm()。它不是线程安全的:以这种方式只能调度一次 SIGALRM 生成。如果尚未生成 SIGALRM 信号,则调用将导致重新安排生成 SIGALRM 信号的时间。
有没有办法实现这样的功能并保证线程会调用该函数并在那时离开其当前任务?
问问题
190 次
我希望所有线程(在 Linux 上运行的多线程 C 代码中)在特定时间后调用一个函数。我试过了alarm()。它不是线程安全的:以这种方式只能调度一次 SIGALRM 生成。如果尚未生成 SIGALRM 信号,则调用将导致重新安排生成 SIGALRM 信号的时间。
有没有办法实现这样的功能并保证线程会调用该函数并在那时离开其当前任务?