欢迎来到天天文库
浏览记录
ID:39405993
大小:355.00 KB
页数:10页
时间:2019-07-02
《Linux的进程线程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、北京林业大学2012学年—2013学年第二学期Linux应用实验任务书专业名称:信息管理与信息系统班级:姓名:学号:实验题目:实验五Linux的进程/线程实验环境:RedHatLinux9实验目的:通过编写多进程程序,熟练掌握fork、exec、wait、waitpid等函数的使用,进一步理解Linux多进程编程。通过编写经典的“生产者消费者”问题的实验,可以进一步熟悉Linux多线程编程,并且掌握用信号量处理线程间的同步互斥问题。实验内容:1)有3个进程,其中一个为父进程,其余两个是该父进程创建的子进程,其中一个子进程运行“ls-l”指令,另一个子
2、进程在暂停5s之后异常退出,父进程并不阻塞自己,并等待子进程的退出信息,待收集到该信息,父进程就返回。编写程序:运行结果:其中最后一行的Getchild2是在上面结果出现5秒后出现的2)Ø将上述程序编译运行,并观察(注意父子进程关系),特别是在第二个进程退出后,第3,4两个进程。必要的话,可以加大各个子进程的睡眠时间。编写程序:编译运行:每隔一段时间会进行一个子进程的运行,从而产生多个结果。3)“生产者/消费者”问题描述:有一个有限缓冲区和两个线程:生产者和消费者。他们分别把产品放入缓冲区和从缓冲区中拿走产品。当一个生产者在缓冲区满时必须等待,当一个
3、消费者在缓冲区空时也必须等待。structmsg{structmsg*next;intnum;};试用信号量(Semaphore)改写。编写代码:运行结果:遇到的问题及解决方案:这次的实验对我来说比较困难,因为涉及到编程,所以做起来有些吃力。但是通过这几个实验,我对进程和线程等问题和相关的一些函数有了更加深刻的了解,对这方面的编程问题也有了一定的提高。虽然在实验完成过程中有很多困难,但通过查看老师PPT,上网查找资料和询问同学得以解决,同时自身能力也有所提高。在完成第三个实验时,总是说我编译错误,但多次调试查找代码,并没有发现错误,后经资料查找发现需
4、要在编译时加上链接库。
此文档下载收益归作者所有