python3 非阻塞IO模型实现服务端(备忘记录说明)

Telit IoT创新大会前瞻:多模融合、边缘智能与海量数据成焦点 物联网通信技术正从单一制式走向多模融合,NB-IoT、LTE-M与5G RedCap的协同部署成为行业关注焦点。在设备规模爆发式增长背景下,如何构建可靠的数据管道以应对海量数据采集,成为衡量IoT平台能力的关键。同时,设备远程运维催生了OTA升级的刚性需求,边缘计算则将AI推理下沉到最后一公里,解决了实时性与带宽的瓶颈。从工业智造到车联网,垂直行业场景对方案的可落地性提出更高要求。Telit作为老牌蜂窝模组厂商,借助其融合后的完整连接布局,其创新大会所展示的技术路标,正是对上述趋势的一次集中呈现与深度回应。 阅读详情
#!/usr/bin/env python
# -*- coding:utf-8 -*-

import socket


def deal_req(c, req):
    print(req)
    c.send(req.upper().encode('utf-8'))

sk = socket.socket()
sk.bind(('127.0.0.1',9000))
sk.setblocking(False)
sk.listen()

conn_l = []
del_l = []
while True:
    try:
        conn,addr = sk.accept()   # 阻塞,直到有一个客户端来连我
        print(conn)
        conn_l.append(conn)
    except BlockingIOError:       # 因为是非阻塞模型,所以在没有收取到连接时,会报错
        for c in conn_l:
            try:
                req = c.recv(1024).decode('utf-8') # 如果没有信息到来,又是非阻塞,故此会报错
                if not req:                        # 如果连接异常断开,则走msg为空
                    del_l.append(c)
                    continue
                deal_req(c, req)
            except BlockingIOError:pass
        for c in del_l:
            conn_l.remove(c)
        del_l.clear()
sk.close()

并发的本质:资源调度思维而非多线程技术 并发是一种面向资源受限场景的任务组织与调度基础范式,其核心在于通过任务拆解、状态隔离和非阻塞等待,实现多个逻辑单元共享有限资源下的高效协同。它区别于物理并行,强调‘看起来同时进行’的确定性交付能力,广泛应用于IO密集型系统设计、多源数据聚合、实时服务编排等典型场景。掌握并发思维,关键在于识别可独立发起的IO操作、设定合理流水线节奏、规避上下文切换陷阱——正如咖啡店用工序分站替代排队抢机,真正的并发优化不靠堆硬件,而靠重构执行流。本文以Python实操为载体,深入解析并发设计中的节奏控制、背压管理与异常韧性。 阅读详情

相关推荐

MiniMax M2.7:单次推理闭环的AI产线自组装能力解析

大模型从‘能说会写’迈向‘自主执行’,核心在于是否具备内生式工具构建与环境闭环推理能力。这涉及Agent系统架构演进、长期记忆的知识图谱化建模,以及多智能体间的分布式认知协同。MiniMax M2.7通过将工具调用深度耦合进单次推理过程,实现无需外部框架即可动态生成、验证、执行工具链;其长期记忆不再依赖向量检索,而是构建带时间戳与置信度的可演化三元组图谱;多Agent协作亦突破角色分饰范式,形成具备状态隔离、仲裁机制与规则自生长能力的分布式认知系统。这些能力共同支撑办公自动化、SRE故障根因定位、跨模态内容

weixin_34005042的博客 440

Python单进程非阻塞服务器

在Python中实现单进程非阻塞服务器很方便,主要的思想就是把socket设置成非阻塞的模式,之后使用轮询的方式进行数据访问,少量的链接是ok的,但是客户端多了会损失效率,来看下实现 from socket import * server = socket(AF_INET, SOCK_STREAM) server.bind(("", 8080)) server.setblocking(Fal...

逍遥小道的博客 561

对话式AI在计算机科学教学中的应用:从抽象原理到互动探索

计算机科学教学常面临抽象概念难以理解、学生缺乏实践场景的挑战。传统教学以单向知识灌输为主,学生被动接收,难以形成深度认知。对话式AI通过自然语言交互,将抽象原理转化为可感知的类比和故事,例如用篮球赛类比多线程、用快递分拣解释排序算法,帮助学生构建心智模型。在工程实践中,AI可作为即时导师,在项目驱动下提供个性化指导,引导学生从模糊问题出发,通过提问-修正循环精准定义问题,并利用代码沙盒进行交互式实验。这种教学范式转变,不仅提升了学生对操作系统、网络协议、数据结构等核心原理的理解,更培养了计算思维和问题解决能

weixin_33736649的博客 332

Python之异步IO模型实现socket并发

服务端: import socket sk = socket.socket() addr = ('127.0.0.1',8090) sk.bind(addr) sk.listen() sk.setblocking(False) # 设置非阻塞模式,accept,recv等方法均不阻塞,而是抛出异常 conn_lst = [] # 建立一个列表存储接收到的连接 del_lst = [] # 建...

phluo的博客 2864

Ubuntu生产环境FastAPI+PostgreSQL基线配置指南

FastAPI作为现代Python异步Web框架,其生产落地高度依赖底层操作系统与关系型数据库的协同。在Linux服务器场景中,Ubuntu凭借稳定的内核、成熟的systemd服务管理及长期支持周期,成为FastAPI部署的首选发行版;而PostgreSQL则因JSONB原生支持、行级安全(RLS)、ACID强一致性等特性,与FastAPI+Pydantic的数据流模型深度契合。理解三者间的运行时契约——包括TCP keepalive参数对连接池的影响、locale配置对数据库初始化的决定性作用、以及sys

chuliaoqiao4046的博客 438

计算机考研考博经典考题汇总(一次刷新世界观-我相信VIP总是有原因的)

操作系统 操作系统的特点? – 共享:资源可被多个并发执行的进程使用 – 并发:可以在同一时间间隔处理多个进程,需要硬件支持 – 虚拟:将物理实体映射成为多个虚拟设备 – 异步:进程执行走走停停,每次进程执行速度可能不同,但OS需保证进程每次执行结果相同 进程的三个组成部分? 程序段、数据段、PCB(Process Control Block) 并发与并行区别? 并发:同一间隔 并行:同一时刻 进程切换的过程? 保持处理机上下文 -> 更新PCB -> 把PCB移入相应队列(就绪、阻塞) -&g

weixin_44077556的博客 4万+

Lua-HTTP安装配置全攻略:从环境搭建到实战应用

HTTP协议作为现代网络通信的基石,其客户端与服务器实现是网络编程的核心技术。在Lua生态中,Lua-HTTP库提供了轻量级、高性能的HTTP/1.x与HTTP/2协议处理能力,尤其适合嵌入式环境与高性能脚本场景。通过LuaRocks包管理器,开发者可以便捷地集成OpenSSL以实现HTTPS支持,并利用cURL后端扩展协议处理范围。该库的价值在于为Lua开发者提供了标准socket库之外的、更优雅高效的网络编程工具,广泛应用于OpenResty模块开发、游戏脚本网络通信及轻量级API服务构建。本文聚焦Lu

cojm55771的博客 422

DuCut_1794120730156_604.mp4

DuCut_1794120730156_604.mp4

TemplateSyntaxError at /xxx/xxx/ 'xx_tags' is not a registered tag

问题报错页面如下 源码如下 解决方法 这种报错是因为缺少了django-crispy-forms模块造成的,用pip安装一下即可 非常感谢这篇博客

Malloc_New的博客 6732

改进差分进化算法及其求解柔性作业车间调度问题(Python代码实现)

内容概要:本文系统探讨了改进差分进化算法在求解柔性作业车间调度问题中的应用,并结合Python代码实现,展示了该算法相较于传统方法在全局搜索能力和收敛速度方面的优势。研究不仅聚焦于算法本身的改进策略,如变异、交叉和选择操作的优化,还深入分析了其在复杂制造环境中应对多目标、多约束调度问题的有效性。文中通过标准测试实例验证了算法性能,并与其他智能优化算法进行了对比分析,体现了其在实际工程应用中的潜力。此外,文档还关联了多无人机路径规划、电力系统状态估计、微电网优化、图像与信号处理等多个前沿技术领域,展现了智能优化算法在跨学科工程仿真与决策支持中的广泛适用性。; 适合人群:具备一定编程基础和工程背景,从事智能制造、自动化、工业工程、电气工程、控制科学与工程、计算机科学及相关领域的科研人员、高校研究生及企业研发技术人员。; 使用场景及目标:①为科研工作者提供可复现的智能优化算法代码框架,支持柔性作业车间调度、多无人机协同路径规划、电力系统优化等复杂工程问题的建模仿真;②辅助完成学术论文复现、课程设计、毕业设计或科研项目开发;③推动智能算法在生产调度、能源管理、交通规划等实际场景中的落地应用。; 阅读建议:建议读者结合文中提供的算法原理与代码实现,动手调试并验证不同参数设置对优化结果的影响,同时可参考荔枝科研社提供的完整资源包进行扩展学习与实践,以加深对算法机制与工程应用的理解。

复现基于改进秃鹰算法的微电网群经济优化调度研究(Matlab代码实现)

内容概要:本文聚焦于“基于改进秃鹰算法的微电网群经济优化调度”研究,提出一种改进的秃鹰优化算法(IBOA)以解决传统智能优化算法在求解过程中易陷入局部最优、收敛速度慢等问题。通过引入自适应权重、动态搜索机制及种群多样性保持策略,显著增强了算法的全局搜索能力和收敛精度。研究构建了包含光伏发电、风力发电、储能系统、可控负荷及电网交互的微电网群多主体协同调度模型,以系统综合运行成本最小化为目标函数,综合考虑功率平衡、设备出力能力、储能荷电状态、爬坡速率等多种实际约束条件。利用Matlab平台进行仿真验证,并与标准BOA、PSO、GA等经典智能算法进行对比,结果表明所提算法在降低系统运行成本、提高可再生能源消纳率及优化调度效率方面具有明显优势。; 适合人群:适用于具备电力系统基础、优化理论知识及Matlab编程能力的高校研究生、科研人员及从事微电网、综合能源系统优化调度相关工作的工程技术人员。; 使用场景及目标:①用于微电网群或多微网系统的经济调度建模与仿真;②开展新型智能优化算法的设计、改进与性能评估;③支撑含高比例可再生能源的配电系统优化运行决策; 阅读建议:建议结合提供的Matlab代码深入理解算法实现细节与调度模型构建过程,重点分析改进策略对优化性能的影响,并可通过替换场景参数或引入其他算法进行横向对比实验,进一步掌握智能优化在能源系统中的应用方法。【复现】基于改进秃鹰算法的微电网群经济优化调度研究(Matlab代码实现)

用Python3实现的一个数字转汉字大写金额源码

#! /bin/python # -*- coding:utf-8 -*- from decimal import Decimal from decimal import getcontext num_to_ch_dic = { 0:'零', '.':'点', 1:'壹', 2:'贰', 3:'叁', 4:'肆',5:'伍',6:'陆',7:'柒',8:'捌',9:'玖', 10:'z'} ...

Malloc_New的博客 2427

改进-基于新扩展移相角下的双有源桥DAB变换器仿真(EPS调制、软开关、最小应力优化)(Simulink仿真实现)

内容概要:本文系统阐述了基于新扩展移相角的双有源桥(DAB)DC-DC变换器的先进仿真研究,聚焦于EPS调制策略、软开关技术实现及最小应力优化控制目标的协同设计。通过Matlab/Simulink平台构建双闭环控制系统模型,深入剖析变换器在高频隔离、双向功率传输场景下的动态响应特性与效率优化机制。该仿真方案复现了顶级EI期刊研究成果,具备高学术参考价值,并集成于一套完整的电力电子与新能源系统仿真资源体系中,涵盖微电网、PWM整流器、LLC谐振变换器、储能管理等多个关键技术方向,配套完整的仿真代码、设计文档与理论资料,支持深度学习与二次开发; 适合人群:面向电力电子、电气工程及其自动化、新能源科学与工程等领域的研究生、科研人员以及从事高性能DC-DC变换器研发的工程师,要求具备扎实的电路理论基础、电力电子拓扑分析能力及一定的Matlab/Simulink仿真实践经验; 使用场景及目标:①深入掌握DAB变换器的核心工作原理及其在EPS调制与软开关协同下的最优控制策略;②支撑高水平科研论文的复现、改进与创新性研究;③服务于硕士课题、博士研究或企业级新能源变换器产品的前期验证与算法开发; 阅读建议:建议结合文中提供的Simulink模型与引用的权威文献进行系统学习,重点理解控制架构设计、参数整定方法与优化算法实现路径,同时可横向对比其他电力电子变换器案例,拓展系统级工程思维与科研创新能力。

Python PEP8 行太长 怎么处理

行太长情况: class SnippetList(mixins.ListModelMixin, mixins.CreateModelMixin, generics.GenericAPIView): queryset = Snippet.objects.all() serializer_class = SnippetModelSerializer ''' 列出...

Malloc_New的博客 935

DexProtector内存校验绕过与DEX提取实战

DEX文件是Android应用的核心执行单元,其动态加载与运行时保护机制直接关系到App安全强度。DexProtector作为主流商业加固方案,摒弃传统文件级防护,转而依托ART虚拟机下的匿名内存映射段(anonymous mmap)构建多维校验体系——涵盖字节码完整性校验、内存页属性检测及运行时环境感知。其技术价值在于将防护锚点从静态APK迁移至动态内存态,大幅提升逆向门槛。典型应用场景包括金融类App的防篡改加固、游戏客户端的反外挂保护,以及政企应用的合规性安全增强。本文聚焦DexProtector v

weixin_30315435的博客 713

FPGA远程更新实战:Multiboot双镜像配置与Flash分区策略

本文详细介绍了FPGA远程更新中Multiboot双镜像的配置与实现,重点对比了XDC约束和ICAPE2原语两种配置方案的优缺点及适用场景。提供了基于W25Q128 Flash的非对称分区策略、MCS文件生成与烧写方法,并深入探讨了远程更新的流程容错处理与可靠性优化建议,帮助开发者构建稳定可靠的FPGA远程更新系统。

ss78901的博客 828

python manage.py makemigrations Nochangesdetected

原文地址: https://blog.youkuaiyun.com/zxssoft/article/details/90404724 在修改了models.py后,有些用户会喜欢用python manage.py makemigrations生成对应的py代码。 但有时执行python manage.py makemigrations命令(也可能人比较皮,把migrations文件...

Malloc_New的博客 470

避坑指南:解决‘Logical volume contains a filesystem in use’错误,顺利完成LVM根目录扩容

本文详细解析了Linux系统中LVM根目录扩容时遇到的‘Logical volume contains a filesystem in use’错误,提供了从错误诊断到实战解决方案的完整指南。通过动态扩容技术、单用户模式操作和LVM快照等方案,帮助管理员顺利完成根目录扩容,避免数据丢失和系统崩溃。

weixin_28702105的博客 227

关于python3实现单向链表,以及链表反转的问题

起因: 最近看到了一个python3的笔试题目,说是实现一个单向链表,并实现反转方法。 说心里话,看到这样的题目,很无语。因为我觉得者应该是C语言擅长做的事情,但是仔细一想,兴许这道题是为了考察面试者的算法能力呢?所以就自己实现了一下,顺便练习了一下pytest模块的使用。 talk is cheap,show me the code #! /usr/bin/python3 # -*- co...

Malloc_New的博客 375

C语言入门系列:指针入门(超详细)

指针与内存是息息相关的,在学习指针之前,先回忆下内存相关的知识。内存是程序运行期间存储数据的硬件设备,为了方便管理,计算机将内存划分为一个个小的单元,每个单元的大小是一个字节。如果把内存比作一栋酒店大楼,内存单元就像是一个个小的房间,数据就住在小房间里。我们知道,为了客人能准确找到属于自己的房间,酒店房间是有房号的。同样,内存单元也是有编号的,这个编号在计算机中称之为“内存地址。

epitomizelu的专栏 3695

Geant4 学习笔记(一):实现multi-thread多线程

简单修改实现Geant4多线程

weixin_52417815的博客 6084

关于python3中字节类型的一个小问题(记录)

>>> ord('E') 69 >>> hex(69) '0x45' >>> b'\x45' b'E' >>>

Malloc_New的博客 318

ADS2020实战:村田电感.s2p与.mod文件导入全流程对比(附仿真结果差异分析)

本文详细对比了ADS2020中村田电感的.s2p与.mod文件导入流程及仿真结果差异,重点分析了两种模型在低频段和高频段的精度表现。通过实际案例展示.s2p文件在高频仿真中的优势,以及.mod文件在低频和非线性特性模拟中的准确性,为射频电路设计提供模型选择策略和混合仿真技巧。

weixin_29289821的博客 519
上一篇: Ubuntu一些命令
下一篇: wireshark常用的过滤命令(协议分析利器,你值得拥有。)
Malloc_New
博客等级 码龄11年 0粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值