北极熊不吃企鹅宝宝
搜索文章
首页
关于
站点
= 768 && isOpen) { isOpen = false; setTimeout(() => enableScroll(document.body), 200); }" >
enableScroll(document.body), 200);" x-transition:enter="transition ease duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease duration-300" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" style=" position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 1001; overscroll-behavior: none; " >
enableScroll(document.body), 200)" >
首页
关于
站点
全部
默认分类 (0)
AI (1)
计算机知识 (8)
使用教程 (6)
MLSys (3)
AI infra (3)
算法 (1)
数学 (1)
POSIX 信号量解析:计数语义及其与条件变量的本质区别
POSIX 信号量解析:计数语义及其与条件变量的本质区别 核心结论:信号量内部保存可用资源数量,sem_wait() 消费数量,sem_post() 归还数量;条件变量则不保存通知,只负责提醒线程重新检查外部状态。 问题背景 mutex 可以保
作者:CherryYang
发布时间:2026-08-12
分类:
计算机知识
标签:
#
多线程
,
#
锁
,
#
C/C++
C 语言 Callback 机制解析:函数指针、上下文参数与工程实践
C 语言 Callback 机制解析:函数指针、上下文参数与工程实践 核心结论:Callback 的本质是把“以后要执行的函数”作为参数传递,使通用流程不必依赖具体行为。 问题背景 普通函数调用会把“流程”和“行为”直接写死:
作者:CherryYang
发布时间:2026-08-12
分类:
计算机知识
标签:
#
C/C++
pthread 条件变量解析:原子等待、虚假唤醒与 Completion 机制
pthread 条件变量解析:原子等待、虚假唤醒与 Completion 机制 核心结论:条件变量不保存业务条件,它负责让线程高效睡眠和被唤醒;真正的条件必须保存在 mutex 保护的共享状态中。 问题背景 假设主线程必须等待 worker 完成某项工作,最直观的写法是不断检查共享变量:
作者:CherryYang
发布时间:2026-08-12
分类:
计算机知识
标签:
#
C/C++
,
#
锁
,
#
多线程
锁与同步机制完全指南
锁与同步机制完全指南 一份从硬件基础到无锁数据结构、覆盖用户态与内核态的系统性参考。 阅读建议:第 1–3 部分是地基,务必读;第 4–8 部分按需查阅;第 10 部分(实践)和第 11 部分(延伸阅读)随时回看。 目录 并发的根本问题 硬件基础 原子操作与无锁基础 自旋锁家族 阻塞锁 读写分离 协
作者:CherryYang
发布时间:2026-07-14
分类:
计算机知识
标签:
#
锁
Workqueue 机制解析
嵌入式存储系统中的 Workqueue 机制解析——以 dpax_sched_work 为例 核心结论:dpax_sched_init_work / dpax_sched_add_work 实现了一套仿照 Linux kernel workqueue 设计的单线程延迟执行机制,核心思想是"线程只创建
作者:CherryYang
发布时间:2026-07-14
分类:
计算机知识
标签:
#
数据结构
,
#
Linux
并发下锁的初始化问题
并发下锁的初始化:懒加载的鸡生蛋陷阱与 PTHREAD_MUTEX_INITIALIZER 范式 核心结论:在并发环境里"等到第一次用才去初始化一把锁"几乎总是错的——因为序列化这次初始化又需要另一把锁,于是陷入循环。正确做法是让锁在还没有并发的时刻(加载期 / 启动期)就准备好,或者用一个"本身不
作者:CherryYang
发布时间:2026-06-16
分类:
计算机知识
标签:
#
锁
X-Macro
X-Macro X-Macro(X 宏)技术核心目的是:维护一份数据(单一数据源),同时生成枚举和字符串之间的映射 讲人话:当有很多很多枚举的时候,我希望能够打印出枚举的字符串,而不是 0,1,2,3… 问题背景 以代码规范检查为例,用下面的枚举表示若干个检查类型: enum RuleId {
作者:CherryYang
发布时间:2026-06-03
分类:
计算机知识
标签:
#
数据结构
gdb 调试
gdb调试 编译参数 编译时 (-L.):你告诉连接器(Linker)去当前目录找库。 运行时 (Runtime):当你运行 ./main 时,操作系统的动态链接器(ld.so)接管了工作。出于安全和规范考虑,Linux 默认不会在当前目录(.)查找动态库,它只去 /lib, /usr/lib 或配
作者:CherryYang
发布时间:2026-06-03
分类:
使用教程
,
计算机知识
标签:
#
gdb
共 8 篇文章
1
页