C++线程安全型双向链表的实现
编写一个线程安全的双向链表,所谓线程安全,就是该链表能够实现多个线程同时正确的增删改链表结点,也就是能够实现对链表这个临界资源的保护。需要实现的函数包括:
(1) InitList函数:初始化一个空的双向链表,并初始化各个用于保护链表的信号量。
(2) Insert函数:向链表指定位置插入一个结点
(3) Erase函数:删除指定位置的结点
(4) Clear函数:删除链表中的所有结点
(5) Find函数:查找链表中是否有指定的元素,若有,返回能够访问该结点的指针;若无,返回NULL。
(6) Print函数:打印当前链表中的所有元素。
完成该链表后,自己编写一个测试程序,生成多个线程同时读写该链表,验证你的链表执行是否正确,并给出测试报告。