当前位置:  技术问答>linux和unix

setitimer(ITIMER_REAL...以系统实时时间计算超时发出SIGALRM信号?

    来源: 互联网  发布时间:2017-03-02

    本文导语:  本帖最后由 kgduwu 于 2012-07-05 23:49:21 编辑 1.titimer(ITIMER_REAL...以系统实时时间计算,超时即发出SIGALRM信号,信号的发送与响应的确比较精确,譬如us级的ITIMER_REAL类型定时器,它的确能做到误差在us级,linux下的CPU线程切...

本帖最后由 kgduwu 于 2012-07-05 23:49:21 编辑
1.titimer(ITIMER_REAL...以系统实时时间计算,超时即发出SIGALRM信号,信号的发送与响应的确比较精确,譬如us级的ITIMER_REAL类型定时器,它的确能做到误差在us级,linux下的CPU线程切换最小时间片都是10ms,但是他是如何做到的?
难道它到us级的超时时间了以后,能直接中断别个还没有运行完10ms时间片的线程,让CPU先响应自己发出的超时信号SIGALRM,执行完SIGALRM对应的响应函数后再回到那个被它(ITIMER_REAL类型定时器的超时信号)中断的线程继续执行吗?
SIGALRM信号究竟能不能在超时时基本实时的响应?能响应,那它究竟是个什么权限级别,还是直接中断方式运行,以至于它超越了用户线程公平调度原则,不进入Linux系统的用户线程调度,还是其它什么的...???





2.网上有人说它会打断sleep函数,因为它发送出SIGALRM信号,而说sleep函数通过SIGALRM信号实现的,那响应ITIMER_REAL类型定时器的SIGALRM信号它就是要抢其它线程的CPU资源运行自己的响应函数,而说它会打断sleep函数岂不是它发出的SIGALRM信号会让本来sleep的线程激活(这样不是反而让该线程与自己抢CPU资源了,这自相矛盾啊),这种说法无法自圆其说,究竟是怎样一种说法???

|
不知道, SIGALARM不是实时信号这是注定的.

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下该如何取消用setitimer设置的定时器呢?
  • 如何用系统调用实现每秒钟显示一次系统时钟,可以用getitimer,setitimer,alarm?
  • setitimer中 ITIMER_VIRTUAL 和 ITIMER_PROF的区别
  • 关于setitimer与子进程的问题
  • 定时器问题--setitimer 求助
  • 请教,setitimer的简单测试程序
  • 再问定时器-setitimer问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3