首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确配置signal.setitimer()

正确配置signal.setitimer()
EN

Stack Overflow用户
提问于 2013-05-06 16:27:44
回答 1查看 1.1K关注 0票数 0

我很难理解为什么程序会无限期地暂停,也就是显示出无限循环的行为。

代码语言:javascript
复制
def class foo():
    '''
    ...
    '''
    def __catcher(self, signum, _):
        print "TIME OUT EXCEEDED"
        # Reset timer
        signal.setitimer(signal.ITIMER_REAL, 0.0, _SENDERTMOUT_)
        # Do something 
        for i in range (self.base, self.next_seqno):
            '''
            ...
            '''
    def start(self):
        while something:
            '''
            Start doing some work
            '''
            if self.base == self.next_seqno:
                old_handler = signal.signal(signal.SIGALRM, self.__catcher) 
                signal.setitimer(signal.ITIMER_REAL, _SENDERTMOUT_)

            '''
            Do more work until timer goes off
            '''

也许我不知道执行的顺序,当在start()中计时器超时时,程序跳到__catcher(),对吗?然后计时器被重置,其余的语句,,那么程序在哪里恢复执行

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2013-08-07 18:11:54

我想它又回到计时器打断的地方了?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16403017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档