当前位置: 首页 > news >正文

Windows 同步-Windows 单向链表和互锁链表

Windows 单向链表(SList)同步机制详解

核心概念

SList(Singly-Linked List)是一种基于非阻塞算法实现的线程安全链表结构,具有以下特性:

  • ​原子性操作​​:所有插入/删除操作均通过硬件级原子指令完成
  • ​无锁设计​​:避免传统锁机制的优先级反转和锁定护航问题
  • ​高性能​​:特别适合高并发场景(如驱动程序、实时系统)
  • ​内存对齐要求​​:所有节点必须按MEMORY_ALLOCATION_ALIGNMENT(默认8字节)对齐

平台支持

Windows 版本支持特性
Windows XP+支持32位SList操作
Windows 8+新增64位原子操作支持(如InterlockedCompare64Exchange128)
Windows 10+优化多核处理器下的并发性能

关键函数清单

初始化操作

函数描述
InitializeSListHead初始化SList头节点,必须在使用前调用

插入操作

函数描述
InterlockedPushEntrySList原子性将节点插入链表头部
InterlockedPushListSList原子性合并两个SList(高效批量插入)

删除操作

函数描述
InterlockedPopEntrySList原子性移除并返回链表头部节点
InterlockedFlushSList清空链表并返回所有节点(适用于批量处理)

查询操作

函数描述
QueryDepthSList获取链表当前节点数量(近似值,非实时精确计数)
RtlFirstEntrySList获取链表头部节点指针(不修改链表状态)

内存管理规范

对齐要求

// 使用_aligned_malloc分配对齐内存
PSLIST_ENTRY pNode = (PSLIST_ENTRY)_aligned_malloc(sizeof(SLIST_ENTRY), MEMORY_ALLOCATION_ALIGNMENT);
InitializeSListHead(pNode);# 互锁的 Singly 链接列表互锁的单锁链接列表(SList)简化了从链接列表中插入和删除的任务。 SList 是使用非阻止算法实现的,可提供原子同步、提高系统性能,并避免诸如优先级反转和锁定护航等问题。SList 在 32 位代码中实现和使用非常简单。 但是,很难在 64 位代码中实现它们,因为本机互锁交换基元可交换的数据量不是地址大小的两倍,因为它位于 32 位代码中。 因此,SLists 支持将高端可缩放算法移植到 Windows。Windows 8: 从 Windows 8 开始,相应的本机互锁交换基元可用于 64 位代码,例如 InterlockedCompare64Exchange128。应用程序可以通过调用 InitializeSListHead 函数来使用 SLists 初始化列表的头。 若要在列表中插入项,请使用 InterlockedPushEntrySList 函数。 若要从列表中删除项,请使用 InterlockedPopEntrySList 函数。所有列表项都必须在 MEMORY_ALLOCATION_ALIGNMENT 边界上对齐。 未对齐的项可能会导致不可预知的结果。 请参阅 _aligned_malloc。

相关文章:

  • OpenCV物体计数示例
  • docker本地虚拟机配置
  • 课外知识:isinstance()与issubclass()的区别
  • Filename too long 错误
  • 《TCP/IP详解 卷1:协议》之第四、五章:ARP RARP
  • C#使用sftp远程拷贝文件
  • 黑马点评redis改 part 4
  • 开源的自动驾驶模拟器
  • C++ 的 IO 流
  • DAPP(去中心化应用程序)开发全解析:构建去中心化应用的流程
  • SVT-AV1编码器初始化函数
  • 力扣刷题Day 25:反转链表(206)
  • 【android bluetooth 协议分析 11】【AVDTP详解 1】【宏观感受一下avdtp是个啥东东】
  • 入住刚装修好的新房,房间隔音太差应该怎么办?
  • ERP系统多少钱一套?| 上海达策TECH-SONIC
  • 三维几何变换
  • 修改element UI 分页组件样式(解决样式不生效问题)
  • Java多线程编程初阶指南
  • 【实战】oninput 文本框输入实时查询防抖机制实现
  • 数字IC低功耗设计——基础概念和低功耗设计方法
  • 河南濮阳南乐县官方回应“幼儿园强制订园服”:已责令整改
  • 对话地铁读书人|企业公关吴丑丑:阅读中相遇又重逢
  • 证券时报:金价再创历史新高,“避险”黄金不应异化为投机工具
  • 对话上海外贸企业:关税战虽起,中国供应商却难以被取代
  • IMF将今年全球经济增长预期由3.3%下调至2.8%
  • 三博脑科跌超10%:董事长遭留置立案,称控制权未变化,经营秩序正常