logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux线程(五):线程安全、可重入与死锁

线程安全是指在多线程环境下,多个执行流同时执行一段代码或访问同一组数据时,程序的运行结果始终符合预期,且不会出现数据损坏或逻辑混乱的情况通俗地讲,如果一个函数、类或程序库在多线程并发执行时,不需要调用者进行额外的同步处理(如手动加锁),依然能表现出正确的行为,我们称之为线程安全核心特征:结果的可预测性。无论线程如何调度,无论 CPU 核心如何分配,结果始终如一可重入是指一个函数可以被重复进入。

文章图片
#安全#linux#服务器
C++ 数据结构进阶:哈希表原理

总的来说,哈希表是计算机科学中空间换时间思想的终极体现。它通过哈希函数将复杂的键空间映射为简单的数组下标,试图在平均情况下触碰 O(1) 的查找极限。在这一过程中,我们既要设计分布均匀的散列函数(如除法、乘法或随机化的全域散列)来减少碰撞,也要通过开放定址法(利用连续内存的缓存优势)或链地址法(利用外部空间的灵活性)来化解不可避免的冲突。当负载因子 α 触及红线,或者单个桶的性能因极端冲突而退化时

文章图片
#数据结构#算法#哈希算法 +1
FastAPI 应用开发(一):FastAPI、路由参数与交互式 API 文档

本文作为 FastAPI 系列的第一篇文章,将从整体角度认识 FastAPI。首先介绍 FastAPI 的基本概念、核心特点、应用场景与技术栈,并通过与 Flask、Django 的对比理解其在现代 Web API、微服务及 AI 应用后端开发中的优势。随后从第一个 FastAPI 应用出发,介绍应用创建、启动与基本代码结构,并初步理解路径参数、查询参数和请求体的识别规则。最后介绍 FastAPI

文章图片
#fastapi#python
STL 容器适配器详解:stack 与 queue

到这里,stack、queue 和 priority_queue 的概念、实现原理以及它们为什么“看起来简单却不能遍历”,我们都已经讲清楚了。你会发现,它们本质上并不是新的容器,而是建立在其他顺序容器之上的“使用方式约束”。理解了这一点,不管是自己模拟实现、刷OJ题,还是面试手撕代码,都会轻松很多。这一篇就到这,下一篇我们继续搞点更硬核的东西。

文章图片
#c++#数据结构#开发语言
C++ STL 关联容器详解(一):set 的原理,接口与实战

这不是普通的集合,而是一棵严格遵循红黑树结构的有序容器。需要特别注意的是,set中的元素都是只读的(const类型)。若需要修改元素,必须先执行erase操作删除旧值,再通过 insert 插入新值优先使用成员函数(如 s.find())。标准库算法 std::find 是线性扫描 O(n),而 set::find 则具有对数级复杂度 O(log n),性能优势显著在循环中删除元素时,必须使用 i

文章图片
#c++#开发语言
C++ STL 关联容器详解(二):map 的原理,接口与实战

纵观全篇,从 std::set 的红黑树机理到 std::map 在复杂算法中的多维应用,我们可以清晰地看到:关联式容器的精髓绝非仅仅停留在对 API 的机械调用,而在于对其设计哲学的深度理解当我们开始审视 set 迭代器的常量约束,或是剖析在元素移动时导致的迭代器失效,乃至在随机链表复制等场景中巧妙建立映射时,我们便完成了从接口使用者向高效开发者的身份转变关联式容器的世界博大精深,set 与 m

文章图片
#c++#开发语言
C++关联容器进阶:unordered_map / set与详解

总的来说,std::unordered_map 是 C++ 给追求极致性能的开发者的加速器,它通过牺牲有序性和额外的内存空间换取了平均 O(1) 的惊人速度。然而,在实际工程中必须警惕哈希冲突导致性能退化到 O(N) 的极端情况,并习惯为自定义 Key 手动提供 hash 函数和 operator==。一个成熟的 C++ 开发者应当具备这样的直觉:在数据量大且无序要求的算法场景(如两数之和、LRU

文章图片
#c++#开发语言
Python从入门到实战(五):序列数据容器

在前几章中,我们处理的数据是孤立的,无论是数字还是单个布尔值,它们一次只能表达一个状态。但在实际开发中,我们需要管理成千上万的数据流——例如电商系统的商品列表、用户的敏感词文本等为了高效组织这些成组的数据,Python 引入了数据容器。本篇博客将系统拆解 Python 中的容器序列,并揭示它们背后相通的设计元组使用小括号进行定义,内部元素之间使用英文逗号隔开。由于元组本质上也是序列,它也继承了列表

文章图片
#python#开发语言
Python从入门到实战(六):非序列容器

本文系统介绍了Python中的集合和字典两种关键数据结构及其应用。集合具有无序、唯一性特点,支持数学运算和高效查找;字典作为键值对容器,提供快速数据检索能力。文章详细讲解了二者的创建、增删改查、遍历等操作,并对比了五种主要数据容器的特性。通过单词频次统计和数据去重两个案例,展示了集合和字典的实际应用场景。最后强调应根据需求选择合适的数据结构,为后续面向对象编程学习奠定基础。全文结构清晰,内容由浅入

文章图片
#python#开发语言
Python从入门到实战(十):闭包与装饰器

在 Python 中,作用域定义了标识符(如变量名、函数名、类名)在程序中的可见区域与生命周期从底层实现来看,Python 的作用域完全由命名空间维系。命名空间在物理层面上表现为一个存储键值对的字典(dict),其中键是标识符的名称,值是对应的对象引用。当程序尝试读取一个变量时,Python 解释器必须在特定的命名空间字典中进行检索本章围绕 Python 函数的高级特性展开,系统学习了作用域、闭包

文章图片
#python#开发语言
    共 70 条
  • 1
  • 2
  • 3
  • 7
  • 请选择