由于tornado服务器启动的时候是单个主线程在while true 循环里面,监听系统事件,并处理相关事件。进入get方法后,其它请求会阻塞,当get请求后,应该将业务处理尽量放到回调里面,是当前get请求尽快不占用主线程,从而为其它请求服务。所以尽量将业务放到异步回调里面。异步线程处理完成后,将Future添加到_ioloop.add_callback(partial(callback, result,ex))即可。tornado则在Future有事件的时候,向客户端做出响应。callback必须放到线程里面。不然回调里面处理业务也会占用主线程(cpu时间)
1,启动并获取get请求
2,处理get请求,并finish
3,业务里面处理完,返回ok
4,调用第三方api(url)