linux进程线程管理实验报告(7)

时间:2025-07-09

进程线程,死锁实验报告

果不可预料,当然counter[i]值不会一定相等。而我认为main_counter与sum值应该是相等的。因为都是三个线程的counter之和。

2.而实验结果是前三列数确实不相等。不过main_counter与sum的值也不相等,main_counter < sum,经分析讨论得出解释:因为三个线程在共同争取运行thread_worker()函数,比如main_counter初值为0,pthread_id[0]执行之后main_counter+1,此时还未来得及将值赋给main_counter,这时的main_counter还是0;pthread_id[1]也执行这个函数,main_counter+1,若此时在1号线程将main_counter+1的值还未赋给main_counter,即这时的main_counter还是0,pthread_id[2]也来执行这个函数,main_counter+1,此时三个线程才将加完之后的值赋给main_counter,则main_counter=0+1=1,而真正执行次数sum=0+1+1+1=3。main_counter < sum。

3.thread的CPU占用率在我的机子上执行结果是181,因为三个线程是无限循环的运行,使得cpu占用率很高。

4.thread_worker()函数内是死循环,退出时因为主函数中设置的输入q时循环退出。输入q时主进程执行退出,return 退出程序,则子线程也强制退出。 这样退出不好。

实验三: 互斥

一. 实验目的

通过观察、分析实验现象,深入理解理解互斥锁的原理及特点

掌握在POSIX 规范中的互斥函数的功能及使用方法

二.实验要求

2.1 实验环境要求

1. 硬件

(1) 主机:Pentium III 以上;

(2) 内存:128MB 以上;

(3) 显示器:VGA 或更高;

(4) 硬盘空间:至少100MB 以上剩余空间。

2. 软件

Linux 操作系统,内核2.4.26 以上,预装有X-Window 、vi、gcc、gdb 和任 意web 浏览器。

2.2 实验前的准备工作

准备好上节实验完成的程序thread.c 。

阅读参考资料,了解互斥锁的加解锁机制及相关的系统调用。

三、实验内容

linux进程线程管理实验报告(7).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219