저는 파이썬에서 A(i)
함수를 호출하고 있습니다. X 밀리 초 이상 실행하면 종료되도록합니다. signal.alarm()
을 포함하여 몇 가지 타이밍 방법을 살펴 보았지만, 모두 정수 초 단위로 시간이 걸립니다. 나는이 작업을 수행하려면 어떻게X 밀리 초 후에 파이썬 함수를 시간 종료하는 방법?
signal.alarm(0.26) //time out after 0.26 seconds
: 내가 좋아하는 뭔가를하고 싶어?
저는 파이썬에서 A(i)
함수를 호출하고 있습니다. X 밀리 초 이상 실행하면 종료되도록합니다. signal.alarm()
을 포함하여 몇 가지 타이밍 방법을 살펴 보았지만, 모두 정수 초 단위로 시간이 걸립니다. 나는이 작업을 수행하려면 어떻게X 밀리 초 후에 파이썬 함수를 시간 종료하는 방법?
signal.alarm(0.26) //time out after 0.26 seconds
: 내가 좋아하는 뭔가를하고 싶어?
singal.settimer에는 유닉스가 필요합니다. 다른 당신은 당신이하는 decorator를 사용 while 루프에서 함수를 넣어하거나 예외를 발생시킬 수 있습니다 time.time()
import time
start = time.time()
now = time.time()
while now - start < 0.26: # 0.26 seconds
now = time.time()
print (now-start)
사용할 수있을 때 타이머 종료 (그리고 아마도 다른 사람).
타이머가 thread 일 수 있습니다.
solution I linked as a possible duplicate 이외에도 ctypes
을 사용하면 시스템에서 지원하는 경우 ualarm
을 사용할 수 있습니다. 예를 들어, 맥 OS에
:
import ctypes
libc = ctypes.CDLL("libc.dylib")
libc.ualarm(10000, 0) # 10,000 microseconds
의 사용 가능한 복제 [파이썬 - signal.alarm 기능 (https://stackoverflow.com/questions/3770711/python-signal-alarm-function) – Galen
했나 당신은 신호 기능을 시도합니까? – user1767754
링크 된 복제물의 제목은 약간 오해의 소지가 있습니다. 플로팅을 허용하는 ['signal.setitimer'] (https://docs.python.org/3/library/signal.html#signal.setitimer)를 사용해보십시오. – Galen