当前位置: 首页 > news >正文

【python3】tornado高性能编程

  • 使用多进程充分利用cpu
  • 使用异步编程 asyncio
import asyncio
import time
from abc import ABC
from concurrent.futures import ProcessPoolExecutor
from tornado import web, ioloop, genasync def async_task(name):print(f"start: {name}")st = int(time.time())time.sleep(3)  # 模拟同步等待 await asyncio.sleep(3)  # 模拟异步等待result = f"task: {name}, start: {st}, end: {int(time.time())}"return resultdef run_async_task(name):return asyncio.run(async_task(name))class MainHandler(web.RequestHandler, ABC):executor = ProcessPoolExecutor()  # 进程池@gen.coroutinedef get(self):task_name = self.get_argument("task", "task-1")result = yield self.executor.submit(run_async_task, task_name)self.write(result)def make_app():return web.Application([(r"/", MainHandler),])if __name__ == '__main__':app = make_app()app.listen(8888)print("http://localhost:8888/?task=task-X")ioloop.IOLoop.current().start()
http://www.lryc.cn/news/458566.html

相关文章:

  • 构建高效购物推荐系统:SpringBoot实战
  • docker tar包安装 docker-26.1.4.tgz
  • Github 2024-10-12 Rust开源项目日报 Top10
  • Spring Cloud 微服务架构及其应用:设计、实现与优化
  • Rider + xmake DX12 开发环境
  • 控制台java原生工具打包jar文件
  • MySQL主从同步
  • ansible 学习之变量
  • 【知识科普】Markdown语法内容看这一篇就够了
  • 什么是智能合约?
  • Oracle低代码平台apex介绍
  • 【读书笔记·VLSI电路设计方法解密】问题12:制造MOSFET晶体管的主要工艺步骤是什么
  • 内存分析工具的使用——AddressSanitizer
  • linux使用nmcli 管理wifi的命令
  • deepin20.9安装部署 |deepin20.9镜像下载 |基本命令 |手动分区 |开启远程ssh服务
  • 使用PL/SQL Deverloper过程遇见的问题
  • pikachu靶场总结(三)
  • onvif相关的http api有哪些功能点
  • AI大模型是如何改变我们的日常生活的?
  • kubernetes部署Nexus(Helm3)
  • PDF无法导出中文
  • 【docker】mysql8.0 的 docker 安装
  • vue3中父组件与子组件关系的理解 ------类比java中的启动类,类,对象等概念来解释一下
  • Java设计模式——装饰模式
  • 【TouchSocket 和 client.GetStream 区别】
  • 怎么利用商品详情API接口实现数据获取与应用?
  • 【AGC005D】~K Perm Counting(计数抽象成图)
  • 【React】setState (useState) 是怎么记住上一个状态值的?
  • Vue3 使用CryptoJS加密
  • Feign的使用