北京哪个医院是白癜风医院 http://www.kstejiao.com/m/目录
1.引言1
1.1动机1
1.2要解决的问题1
2.系统设计2
2.1系统总体框架2
2.2系统总体流程3
2.3系统功能模块4
3.数据结构设计4
3.1单向链表数据结构4
3.2读者模型11
3.3写者模型14
4.关键技术与系统实现15
4.1初始化15
4.2选择菜单功能15
4.3读者写者模型构建17
4.4线程同步互斥的实现26
4.5验证数据结构的准确性29
4.6为线程传递多个参数的实现31
5.系统运行结果33
5.1运行环境33
5.2运行与测试结果分析34
6.调试和改进37
7.心得和结论38
8.结论和体会38
9.进一步改进方向39
主要参考文献40
1.引言
链表作为经典的数据结构,在计算机各个领域中都有着广泛的应用,为了满足用户需求,各种计算机软件的开发都需要应用到链表这一数据结构,由于程序运行在操作系统中,为了让程序更好更快更高效的在操作系统中运行,必须引入同步与互斥机制,那么实现一个线程安全性的链表就显得尤为重要,针对该问题,本课程设计将着力设计一个基于c语言实现的线程安全性链表,以期用于实践生活中。
1.1动机
在计算机系统内部,经常发生多个线程同时访问一个数据结构的现象;多个线程会同时修改或读取一个数据结构的内容;多个线程同时读写会引入读写冲突问题,这些操作如果不经过特殊处理,很容易导致读写操作无效;基于上述现象,本课程设计的动机就是为了保证读写正确性,让程序运行速度更快,输出结果所需时间更少,为将来的研究者提供参考。
所以,本课程设计旨在设计一个能够保证线程安全的链表,在对链表同时进行多次插入删除打印等操作时,相互之间不会产生冲突,保证程序的正常运行,结果正确。
1.2要解决的问题
为实现保证线程安全的链表,本系统需要实现以下几个功能:
(1)用C语言设计链表这一数据结构,实现链表的插入、删除、打印等操作的函数,并保证其正确性。
(2)设计一个测试函数实现对定义好的链表数据结构进行健壮性测试,保证链表自身的准确性和稳定性,继而保证对后序实现链表的线程安全测试准确
(3)设计一个测试函数测试多个线程并发执行同时对其链表值修改时,不会产生冲突和错误。
(4)利用读者写者模型设计一个测试函数测试多个线程并发执行同时对其链表值修改和读操作时,不会产生冲突和错误。