如下代码:
import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
import time
import os
from tornado.options import define, options
define("port", default=8000, help="run on the given port", type=int)
class IndexHandler(tornado.web.RequestHandler):
def get(self):
print "begin"
#time.sleep(10)
os.system("ping
www.baidu.com -c 10")
if __name__ == "__main__":
tornado.options.parse_command_line()
app = tornado.web.Application(handlers=[(r"/sleep", IndexHandler)])
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
现在当浏览器请求地址:
http://127.0.0.1:8000/sleep 会一直ping 10次百度,此时有另一个用户也访问这个地址, 但是另一个用户会被阻塞掉,一直等到第一个用户ping执行完后 第二个用户才能执行, 怎么样实现非阻塞的操作.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/106539
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.