操作系统实验四.doc

实验四 多线程通讯实验报告 实验题目:多线程通讯 实验目的 (1)加深对线程和多线程要领的理解; (2)掌握多线程程序设计的基本方法; (3)学习同一进程内线程间交换数据的方法。 实验内容 设计一个单进程内多线程并发运行的程序, 不同的线程完成下列不同的工作: (1)接收键盘输入线程 负责接收用户的键盘输入,并以适当的方式将由键盘获得的数据交给其它线程处理。 (2)显示线程 负责全部数据显示任务,包括键盘输入数据的显示和提示信息的显示。 (3)分发数据线程 将键盘输入的数据分为3类,即字母、数字和其它,并分别将字母写入文件letter.txt中,数字写入文件number.txt中,除字母和数字外其它数据丢弃。 除以上实验要求外,程序必须能: 1、程序能以适当的方式提示用户输入数据; 2、提示用户有数据被丢弃; 3、全部的显示任务必须由显示进程完成; 4、整个程序能够连续处理多组输入数据,直到用户输入“quit”字符串,整个程序结束; 进一步要求 比较线程间通信方式与进程间通信方式特点。 实验方法 1、利用pthread_create()函数创建3个子线程,用三个线程完成上面的三个实验任务,用子线程1实现全部的显示任务,用子线程2负责键盘输入任务,子线程3实现数据分发任务。 2、使用条件变量实现线程之间的同步。条件变量允许线程挂起,知道

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档