logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

线程池拒绝策略

如果此时线程池饱和,CallerRunsPolicy会让当前线程自己执行task,而task里面又要去std::lock_guard(mtx),这时线程就卡住了——它在等自己释放锁,但自己又被卡在执行task的环节,形成死锁。线程池饱和时,Caller线程(通常是Web服务器的IO线程、消息消费者线程)被占用执行任务 → 提交速度自然变慢 → 形成背压。AbortPolicy适用于强一致性、零丢失

#c++
详解TCP四次挥手

存在独立的上行通道(你发我收)、下行通道(我发你收),关闭连接时,两个方向的通道需要分别关闭,这就是「建立连接 3 次、断开连接 4 次」的根本原因。主动关闭方:先调用 close() / 主动发起断开(可以是客户端,也可以是服务端,不固定)被动关闭方:收到 FIN 后,被动响应关闭如果被动方留 TIME_WAIT:服务端一般固定端口,频繁重启服务会因大量 TIME_WAIT 端口占用,无法立刻监

文章图片
#tcp/ip#网络#网络协议
AI Agent详解

最近 AI 圈子里最火的词就是 Agent。无论是字节、阿里还是腾讯的招聘 JD,几乎都把 Agent 开发能力列为加分项或必备技能。很多小伙伴(包括我刚入门时)都觉得 Agent “听起来很高大上”,其实它就是让大模型(LLM)从“只会聊天”变成“能真正干活”的关键进化。本文将一步步、零基础地给你讲透以下三个核心问题:1.什么是 Agent?2.它和LLM有什么本质不同?大模型有哪些致命局限性?

#人工智能
AI Agent详解

最近 AI 圈子里最火的词就是 Agent。无论是字节、阿里还是腾讯的招聘 JD,几乎都把 Agent 开发能力列为加分项或必备技能。很多小伙伴(包括我刚入门时)都觉得 Agent “听起来很高大上”,其实它就是让大模型(LLM)从“只会聊天”变成“能真正干活”的关键进化。本文将一步步、零基础地给你讲透以下三个核心问题:1.什么是 Agent?2.它和LLM有什么本质不同?大模型有哪些致命局限性?

#人工智能
AI Agent详解

最近 AI 圈子里最火的词就是 Agent。无论是字节、阿里还是腾讯的招聘 JD,几乎都把 Agent 开发能力列为加分项或必备技能。很多小伙伴(包括我刚入门时)都觉得 Agent “听起来很高大上”,其实它就是让大模型(LLM)从“只会聊天”变成“能真正干活”的关键进化。本文将一步步、零基础地给你讲透以下三个核心问题:1.什么是 Agent?2.它和LLM有什么本质不同?大模型有哪些致命局限性?

#人工智能
线程池:缓存线程池CachedThreadPool

先等待队列清空(while (!创建新线程:if (m_idleThreadSize <= 0 && m_curThreadSize < m_maxThreadSize) → 立刻扩容。使用 predicate + wait_for 是 C++11 最佳实践:自动处理虚假唤醒,超时后直接返回失败(1)。先尝试 m_queue.Put(),失败(队列满)则调用者直接执行(Caller-Runs 策略

#c++
线程池:固定式线程池FixedThreadPool

池内维护一组预先创建好的工作线程,所有提交的任务不会立刻执行,而是放入一个任务队列中,由这些固定数量的线程依次取出并执行。使用 std::list 而非 std::queue 是因为 Take(list) 可以 std::move 整个队列,性能极高(批量消费时优势明显)。这些函数在持有 mutex 的情况下被调用(wait 的 predicate 语义保证),所以里面直接访问 m_queue.s

#c++
线程池:固定式线程池FixedThreadPool

池内维护一组预先创建好的工作线程,所有提交的任务不会立刻执行,而是放入一个任务队列中,由这些固定数量的线程依次取出并执行。使用 std::list 而非 std::queue 是因为 Take(list) 可以 std::move 整个队列,性能极高(批量消费时优势明显)。这些函数在持有 mutex 的情况下被调用(wait 的 predicate 语义保证),所以里面直接访问 m_queue.s

#c++
HTTPS 常用密钥交换算法解析

答:因为IoT设备算力弱、内存小:PSK无证书校验,握手仅2轮,计算量极小,更适合资源受限的设备;而ECDHE需要生成临时密钥对,计算成本相对更高。答:选ECDHE-RSA。理由:① 支持前向保密,安全性更高;答:因为SM2是我国自主研发的国密算法,符合《网络安全法》等国内合规要求,能避免国外算法的潜在后门风险,保障金融数据的国家安全。基于长期密钥的算法:依赖服务器长期公钥 / 私钥,无临时密钥,

#https#网络协议#http +1
C++集群聊天服务器(5)——Model数据层代码框架设计

先看看新增的目录与源文件:之前的6个文件(ChatServer、ChatService、public.h、main.cpp)构建了一个高性能网络框架 + 业务分发解耦,但业务(login/reg)只是打印日志,没有真实功能。新增的5个文件(db.h、db.cpp、user.hpp、usermodel.hpp、usermodel.cpp)加入了数据持久化层,实现了真正的用户注册(把用户名、密码存到

#c++#服务器#数据库
    共 12 条
  • 1
  • 2
  • 请选择