가끔 중단되는 함수가 있습니다. 일반적으로 알람을 설정하지만 Windows에서 작동하지 않습니다. 이 문제를 해결하는 간단한 방법이 있습니까? 아니면 그냥 time.sleep()을 호출하는 스레드를 만들어야합니까?Windows에서 signal.alarm 대체 [파이썬]
스레드로 종료되었습니다. 만 트릭은 os._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
의
os._exit
를 사용했다? – ThiefMaster대신 [threading.Timer()'를 사용할 수 있습니다] (http://stackoverflow.com/a/28081214/4279) – jfs
@ThiefMaster done! – LondonRob