我有一个函数,它使用raw_input从用户获取输入,我的要求是为用户设置超时,以防用户没有及时提供任何输入,应该假设一些其他默认值。
为了实现相同的目的,我为输入函数创建了一个新线程(t1),并且从我的主线程我监视t1的完成,如果t1没有及时完成,我的主线程应该终止T1
我如何实现同样目标?
请注意,我已经尝试过使用信号和选择模块,但它在jython中不起作用。甚至使用threading.Thread._Thread__delete(t1)删除线程也不起作用。
def get_input():
return raw_input("Enter: ") # blocked until user enters
t1 = threading.Thread(target=get_input)
t1.start()
timeout = 10
count = 0
while count < timeout:
count += 1
if not t1.isAlive():
break
time.sleep(1)
else:
# how do I kill the t1 here?