博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tornado ThreadPoolExecutor
阅读量:4517 次
发布时间:2019-06-08

本文共 1248 字,大约阅读时间需要 4 分钟。

import osimport sys import timeimport tornado.httpserverimport tornado.ioloopimport tornado.optionsimport tornado.webimport tornado.genfrom tornado.concurrent import run_on_executorfrom concurrent.futures import ThreadPoolExecutorfrom tornado.options import define, optionsclass HasBlockTaskHandler(tornado.web.RequestHandler):    executor = ThreadPoolExecutor(20)   #起线程池,由当前RequestHandler持有        @tornado.gen.coroutine    def get(self):        strTime = time.strftime("%Y-%m-%d %H:%M:%S")        print "in get before block_task %s" % strTime        result = yield self.block_task(strTime)        print "in get after block_task"        self.write("%s" % (result))    @run_on_executor    def block_task(self, strTime):        print "in block_task %s" % strTime        for i in range(1, 16):            time.sleep(1)            print "step %d : %s" % (i, strTime)        return "Finish %s" % strTimeif __name__ == "__main__":    tornado.options.parse_command_line()    app = tornado.web.Application(handlers=[(r"/sleep", HasBlockTaskHandler)], autoreload=False, debug=False)    http_server = tornado.httpserver.HTTPServer(app)    http_server.listen(8888)    tornado.ioloop.IOLoop.instance().start()

 

转载于:https://www.cnblogs.com/howhy/p/9627832.html

你可能感兴趣的文章
webApi之FromUri和FromBody区别
查看>>
HDU 4027 Can you answer these queries?
查看>>
智慧故事----每次进来看看都会有收获
查看>>
scala的list源码解密
查看>>
JavaScript&JQ 004_JS闭包
查看>>
Anaconda, conda, pyenv, virtualenv的区别
查看>>
POJ3636Nested Dolls[DP LIS]
查看>>
HDU 1573 X问题 [中国剩余定理]
查看>>
三分法
查看>>
数据结构复习1
查看>>
APM代码学习笔记1
查看>>
[转]35岁前程序员要规划好的四件事,健康居首位
查看>>
Delphi LiveBinds组件
查看>>
pc-H5 适配方案
查看>>
简单模拟多线程Socket通信(java)
查看>>
部署和操作 Enterprise Library 加密应用程序块
查看>>
LeetCode 66. Plus One
查看>>
[HNOI2019]校园旅行
查看>>
java 内部类和静态内部类的区别
查看>>
git 常用命令
查看>>