Linux中一个线程中的一个信号可以中断同一进程的另一个线程的睡眠周期吗

Linux中一个线程中的一个信号可以中断同一进程的另一个线程的睡眠周期吗

一个进程中有两个线程(父线程和子线程,都在自己的无限循环中运行)。父线程只做一项工作,即while(1)每天不断地()检查系统时间是否为00:00,更改文件名。因此,对于每次检查,我都设置了 60 秒的睡眠时间,以最大限度地减少线程对 CPU 的使用。
并且子线程有自己的计时器警报(独立于父线程)和计时器信号处理程序(警报设置在10秒内,因此当父线程休眠60秒时可能有很多计时器信号)。
现在我面临的问题是父线程没有休眠 60 秒,因为我观察到它休眠了不到 10 秒,并且在一分钟内多次检查系统时间。
造成这种情况的原因是什么?和如何解决

谢谢。

相关内容