在Linux上,以下代码可用于在经过1秒的CPU时间后发送SIGVTALRM:
timer_t timer;
timer_create(CLOCK_PROCESS_CPUTIME_ID, NULL, &timer);
struct itimerspec second;
second.it_value.tv_sec = 1;
second.it_value.tv_nsec = 0;
second.it_interval.tv_sec = 0;
second.it_interval.tv_nsec = 0;
timer_settime(timer, 0, &second, NULL);
我如何在macOS上做同样的事情? macOS上不存在timer_create
/ timer_settime
API,我无法使用setitimer
,因为我需要设置无限数量的计时器。