Windows 中的 signal.alarm 替换 [Python]

编程入门 行业动态 更新时间:2024-10-10 17:23:26
本文介绍了Windows 中的 signal.alarm 替换 [Python]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个函数偶尔会挂起.

I have a function that occasionally hangs.

通常我会设置闹钟,但我使用的是 Windows 并且它不可用.

Normally I would set an alarm, but I'm in Windows and it's unavailable.

有没有简单的方法可以解决这个问题,还是我应该创建一个调用 time.sleep() 的线程?

Is there a simple way around this, or should I just create a thread that calls time.sleep()?

推荐答案

以下是原发帖者如何解决自己的问题:

Here's how the original poster solved his own problem:

结束了一个线程.唯一的技巧是使用 os._exit 而不是 sys.exit

Ended up going with a thread. Only trick was using os._exit instead of sys.exit

import os import time import threading class Alarm (threading.Thread): def __init__ (self, timeout): threading.Thread.__init__ (self) self.timeout = timeout self.setDaemon (True) def run (self): time.sleep (self.timeout) os._exit (1) alarm = Alarm (4) alarm.start () time.sleep (2) del alarm print 'yup' alarm = Alarm (4) alarm.start () time.sleep (8) del alarm print 'nope' # we don't make it this far

更多推荐

Windows 中的 signal.alarm 替换 [Python]

本文发布于:2023-11-26 23:45:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1635697.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:signal   Windows   Python   alarm

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!