- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
《操作系统》实验报告
实验序号:4实验项目名称:线程创建和数据传递
学号姓名ZRZ专业、班18计卓1班
实验地点指导教师李远敏实验时间2020.4.24
一、实验目的及要求
1.加深对线程概念的理解,明确进程和线程的区别。
2.进一步认识线程并发执行的实质。
3.学会利用pthread库,进行线程创建和线程间数据传递
二、实验设备(环境)及要求
1.Ubuntu操作系统环境
2.搭建Ubuntu操作系统下的C语言编程环境。
三、实验内容与步骤
1.线程的创建:
(1)编程实现在主进程中通过线程创建pthread_create()函数来创建新的线程。
(2)在主线程和子线程中要通过getpid()及pthread_self()获取对应的进程号和线程号并打
印输出
2.线程间参数传递:
(1)阅读下面主线程与子线程间传参数(多个参数值)的程序代码并输入调试并输出结
果;
(2)按下面要求编写子线程间参数传递程序
a.程序功能:
实现在两个子线程通过全局变量传递数据:即在一个子线程中对全局变量的成员进行赋
值,在另一个子线程中对全局变量的成员进行取值并显示
b.编程要求:
首先要定义一个全局结构类型和对应的变量,定义两个Pthread_t类型变量来保存两个
子线程的id;要定义一个主函数和两个用于创建子线程的对应函数
在主函数中创建两个函数对应的子线程并对创建是否成功进行判断,创建成功后,等待
显示子线程结束进程才结束。
在赋值子线程对应函数内要打印进入该子进程的特殊信息,分别对全局变量中相应成员
赋值。
在显示子线程对应函数内要先等待赋值子线程运行完该线程才开始,打印进入该子进程
的特殊信息,并取出全局变量中每个成员的值并显示。
3.接收子线程的返回值:
(1)阅读下面接收创建子线程的返回值-简单值的程序代码并输入调试并输出结果;针对
下列问题进行说明或修改:
a.程序运行结果ret=是一个不确定的值,试说明原因
b.将程序中inta=20语句调换到红颜色位置,结果如何
c.将程序中inta=20int*p=a;语句置换成蓝颜色语句,结果又如何?
(2)阅读下面接收创建子线程返回一个复杂的数据结构变量程序代码并输入、调试、输
出结果;针对下列问题进行说明或修改:
将temp定义和赋值变为create()函数内定义的局部变量,应如何修改程序对结果又
什么影响并说明原因?
四、实验结果与数据处理
1.线程的创建
(1)实验结果:
图1:进程的创建一代码
图2:程序运行结果
(2)结果分析:
运行结果:我们可以看到主线程会先打印出相应的ID,然后再是子线程打印自己的ID
原因:当一个程序启动时,就有一个进程被操作系统(OS)创建,与此同时一个线程也立刻
运行,该线程通常叫做程序的主线程(MainThread),因为它是程序开始时就执行的,如果
你需要再创建线程,那么创建的线程就是这个主线程的子线程。每个进程至少都有一个主线程,
所以没有干预的情况下,主线程都是优先于子线程运行的。
所以在输出ID的时候,主线程会比子线程早输出自己的ID。
(3)思考:
a.通过以上实验线程执行与函数调用的不同,线程与进程的不同
答:线程是程序执行部分,是操作系统的划分。函数是编程中的概念,是功能模块的划分。
b.如何控制主线程与子线程的执行顺序
答:我们可以使用sleep函数来对线程进行挂起的操作,从而来控制主线程与子线程的执
行顺序。
图3:修改后的代码
图4:修改后的代
您可能关注的文档
- 夏令营活动方案范本5篇.pdf
- 基于线性子空间方法的人脸识别技术(模式识别与智能系统专业优秀论文).pdf
- 城市wifi建设方案.pdf
- 在职党员到社区服务工作方案与在职党员志愿者工作方案汇编.pdf
- 国际市场营销产品策略.pdf
- 国开 教育学 形考任务二.pdf
- 团体标准《数字孪生城市仿真推演系统功能要求》.pdf
- 四年级上册数学作业.pdf
- 历史与社会八年级上人教新课标1.1人猿相辑别教案.pdf
- 卓越的客户服务与管理答案.pdf
- 专题06 经济体制(我国的社会主义市场经济体制)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题11 世界多极化与经济全球化-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 专题03 经济发展与社会进步-5年(2020-2024)高考1年模拟政治真题分类汇编(浙江专用)(解析版).docx
- 专题09 文化传承与文化创新-5年(2020-2024)高考1年模拟政治真题分类汇编(北京专用)(原卷版).docx
- 5年(2020-2024)高考政治真题分类汇编专题08 社会进步(我国的个人收入分配与社会保障)(原卷版).docx
- 专题07 探索世界与把握规律-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 5年(2020-2024)高考政治真题分类汇编专题06 经济体制(我国的社会主义市场经济体制)(原卷版).docx
- 专题11 全面依法治国(治国理政的基本方式、法治中国建设、全面推进依法治国的基本要求)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题17 区域联系与区域协调发展-【好题汇编】十年(2015-2024)高考地理真题分类汇编(解析版).docx
- 专题01 中国特色社会主义-5年(2020-2024)高考1年模拟政治真题分类汇编(原卷版).docx
最近下载
- 耳鼻咽喉头颈外科学教学大纲.pdf
- nektar整合程序使用说明书.pdf
- 初中《阳光学业评价》英语八年级上册(含答案).pdf VIP
- AQT 2074-2019 金属非金属矿山在用设备设施安全检测检验报告通用要求.pdf VIP
- Joyoung九阳豆浆机DJ13B-D88SG使用说明书.pdf VIP
- 期末综合素质达标(试卷)-2024-2025学年统编版语文三年级上册.docx VIP
- 国开《小学数学课程标准与教材研究》形考1-4答案.docx
- 课题申报书:技术支持的教师专业成长路径与发展模式研究.pdf VIP
- 轮状病毒性肠炎.ppt VIP
- 六年级上册数学试题-第五单元 圆 测试卷-北京版(含答案).doc VIP
文档评论(0)