C++线程安全型双向链表的实现编写一个线程安全的双向链表,所谓线程安全,就是该链表能够实现多个线程同时正确的增删改链表结点,也就是能够实现对链表这个临界资源的保护。需要实现的函数包括:(1) InitList函数:初始化一个空的双向链表,并初始化各个用于保护链表的信号量。(2) Insert函数:向链表指定位置插入一个结点(3...
在同一时刻,可能有多个线程对该链表进行修改或者读取。而又由于链表访问时必须从头部或尾部开始逐一访问,若同时有线程正在修改链表结构,则会造成读取错误。因此我们需要设计一个线程安全型的链表,保证链表的读写正确性,在多线程环境下链表也能正常工作。 1.1、要解决的问题 链表正常修改:在多线程环境下,能正确地修改链...
数据结构层:使用传统的双向链表结构,每个链表节点带一个前驱指针与后继指针。 基础方法层:在传统双向链表的结构上增加了7种基础的链表操作方法,并保证其具有线程安全的特性。各方法功能请查看下表: 应用封装层:在保证基础方法线程安全的情况之下,再在其基础上进一步封装,增加了3种应用函数。 2.3 系统整体流程 下...