物无定味适口者珍,Python3并发场景(CPU密集/IO密集)任务的并发方式的场景抉择(多线程threading/多进程multiprocessing/协程asyncio)by Liu Yue/2022-08-01 标签: asyncio CPU io multiprocessing python3 threading 任务 协程 场景 多线程 密集 并发 抉择 方式 无定 进程 适口 一般情况下,大家对Python原生的并发/并行工作方式:进程、线程和协程的关系与区别都能讲清楚。甚至具体的对象名称、内置方法都可以如数家珍,这显然是极好的,但我们其实都忽略了一个问题,就是具体应用场景,三者的使用目的是一样的,换句话说,使用结果是一样的,都可以提高程序运行的效率,但到底那种场景用那种方式更好一点? 这就好比,目前主流的汽车发动机变速箱无外乎三种:双离合、CVT以及传统AT。主机厂把它们搭载到不同的发动机和车型上,它们都是变速箱......了解更多
以寡治众各个击破,超大文件分片上传之构建基于Vue.js3.0+Ant-desgin+Tornado6纯异步IO高效写入服务by Liu Yue/2022-07-25 标签: Ant desgin io js3.0 Tornado6 vue 上传 写入 分片 各个击破 基于 寡治众 异步 文件 服务 构建 超大 高效 分治算法是一种很古老但很务实的方法。本意即使将一个较大的整体打碎分成小的局部,这样每个小的局部都不足以对抗大的整体。战国时期,秦国破坏合纵的连横即是一种分而治之的手段;十九世纪,比利时殖民者占领卢旺达, 将卢旺达的种族分为胡图族与图西族,以图进行分裂控制,莫不如是。 21世纪,人们往往会在Leetcode平台上刷分治算法题,但事实上,从工业角度上来看,算法如果不和实际业务场景相结合,算法就永远是虚无缥缈的存在,它只会出现在开发者的某一次不经意......了解更多
Win10环境下使用Flask配合Celery异步推送实时/定时消息(Socket.io)/2020年最新攻略by Liu Yue/2020-07-15 标签: 2020 celery Flask io Socket win10 使用 定时 实时 异步 推送 攻略 最新 消息 环境 配合 首先得明确一点,和Django一样,在2020年Flask 1.1.1以后的版本都不需要所谓的三方库支持,即Flask-Celery或者Flask-Celery-Help这些库,直接使用Celery原生库即可。 一般情况下,Celery被用来处理耗时任务,比如千篇一律的发邮件或者文件上传之类,本次使用Celery实时或者定时发送基于Websocket的消息队列,因为如果前端已经摒弃老旧的轮询策略,使用Websocket,后端则需要相应的配合C......了解更多
后端Python3+Flask结合Socket.io配合前端Vue2.0实现简单全双工在线客服系统by Liu Yue/2020-06-24 标签: Flask io python3 Socket vue2.0 全双工 前端 后端 在线 实现 客服 简单 系统 结合 配合 在之前的一篇文章中:为美多商城(Django2.0.4)添加基于websocket的实时通信,主动推送,聊天室及客服系统,详细介绍了websocket协议以及结合Django如何实现各种功能,本次我们尝试采用Socket.io这个库和Flask来配合使用,完成一个简易的在线客服聊天系统,看看二者有什么区别。 Socket.IO 就是一个封装了 Websocket、基于 Node 的 JavaScript 框架,包含 client 的 Java......了解更多