说起这个需求,其实是来自于实现一个Gevent内的代码执行器的逻辑。这个逻辑要求定时运行某个用户的callback,但是必须不能一直执行这个callback,所以要有Timeout,在Timeout到达的时候,自动kill掉用户的Greenlet.