由于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)
本文详细介绍了如何在使用Tornado服务器处理GET请求时,通过异步回调技术优化性能,确保主线程不被长时间占用,为后续请求提供更快的响应速度。重点阐述了在业务处理阶段将操作移至异步回调中,以及如何正确地使用Future对象和_ioloop模块来实现这一目标。
1013

被折叠的 条评论
为什么被折叠?



