如何从jython 2.7中的主线程中杀死一个线程(等待用户输入)?

时间:2017-05-11 14:35:45

标签: multithreading jython jython-2.7

我有一个函数,它使用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?

0 个答案:

没有答案