实验五:线程编程实验

一【实验目的】

1.理解线程环境、线程的生命周期,
2.理解线程同步,掌握内核函数的基本用法。
3.支撑网络空间安全专业的专业核心能力、综合创新能力。

二【实验要求】

以下每个实验均要求:
1.“实验源代码”处:粘贴所编写的程序源码,务必添加关键语句的注释;
2.“实验结果”:截图(包括编写的程序和运行结果)粘贴到“实验结果”下方,截图需看到本人的名字及学号;
3.有“讨论”的题目,请务必认真回答;

三【实验内容】

5-1 编写一个多线程程序:要求主线程创建3个子线程, 3个子线程在执行时都修改一个它们的共享变量,观察共享变量的值,看看可以得出什么结论。
【源程序】

5-2编写一个多进程多线程的程序:要求创建4个子进程,每个子进程都分别创建两个线程,进程和线程的功能不作要求,可以只提供简单的打印语句。
【源程序】

5-3 编写一个包含2 个线程的程序,在主线程中创建一个全局变量并初始化为0,在另一个线程对这个全局变量进行递加运算,并在结束时向主线程返回一个结果,由主线程打印输出。
【源程序】

5-4(选做)阅读教材P263的示例程序8.9,编写一个程序,在主线程中创建一个新线程,在主线程中设置新线程的“PTHREAD_CREATE_DETACHED”属性,并得到新线程的该属性,并在主线程中将它打印输出。
【源程序】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

where里能用max吗_超市里四五元钱的速冻饺子能买吗?

展开全部我家里都特别喜欢吃带馅的食物,尤其是我儿子只要是饺子和馄饨,吃起来准没够。62616964757a686964616fe59b9ee7ad9431333433653938包饺子虽然不是什么力气活,但是有时候做起来也感觉太过繁琐,尤其是孩子要吃的时候&#xf…

python的迭代_迭代法 python

详解迭代器的使用 | 手把手教你入门Python之八十上一篇:自定义异常 | 手把手教你入门Python之七十九下一篇:生成器 | 手把手教你入门Python之八十一本文来自于千锋教育在阿里云开发者社区学习中心上线课程《Python入门2020最新大课》,主讲人姜…

实验六:套接字编程实验

一【实验目的】 1.掌握面向连接的套接字编程框架; 2.掌握面向无连接的套接字编程框架; 3.掌握I/O复用、套接字选项设置; 4.掌握非阻塞式I/O。 二【实验要求】 以下每个实验均要求: 1.“实验源代码”处:粘贴所编写的程序源码&am…

idea代码回滚_IDEA远程仓库版本回滚

使用 git 进行项目的版本控制时,肯定会遇到回滚版本的情况,回滚有两种,一种是本地仓库回滚,另外一种是远程仓库回滚。以下详细讲解两种回滚方式,本文主要讲解远程回滚,以及常见使用误区。本地仓库回滚本地回…

AppScan api登录接口 postman_【Postman】12 Postman monitor功能使用

通过前面的文章,我们已经能完成接口的Collection,添加断言,Data文件数据驱动,设置变量(Data、Globals和Environment)等等方法,对我们的接口进行个各种的测试,保证其正确性。但是还可…

Linux编程基础 5.1:管道

1 简介 Linux进程通信机制: 管道信号量消息队列共享内存socket通信 2 管道 管道其实质是由内核管理的一个缓冲区 形象地认为管道的两端连接着两个进程: 一个进程进行信息输出,将数据写入管道;另一个进程进行信息输入&#xff…

python pd Series 添加行_Python数据分析与挖掘的常用工具

Python语言:简要概括一下Python语言在数据分析、挖掘场景中常用特性:列表(可以被修改),元组(不可以被修改)字典(结构)集合(同数学概念上的集合)函数式编程(主要由lambda()、map()、reduce()、filter()构成)Python数据分析常用库:P…

华为荣耀20和x10比较_荣耀X10和华为畅享20plus,到底哪个更值得入手?

今天,我接到了联通客服的电话,说我是老用户,直接给我升级成了5G套餐,资费没有太多的变化,比起以前每月月租只多了一块钱,也就是从原来的48元一个月变成了49元一个月,就加了一元钱就变成了5G套餐…

Linux编程基础 5.2:消息队列

3 消息队列 消息队列的本质是一个存放消息的链表,该链表由内核来维护。一个消息队列由一个标识符(即队列key)来标识。消息队列的通信机制传递的数据具有某种结构,而不是简单的字节流;向消息队列中写数据,实…

python tab和空格混用_Python编程常见十大错误,看完你自己都笑了!

关注并置顶【柠檬班】的小哥哥小姐姐胸有成“猪”使用python会出现各种各样的错误,以下是Python常见的错误以及解决方法。01 ValueErrorValueError: ‘Conv2d_1a_33’ is not a valid scope name其实这就是命名错误的问题,如果仔细看“”是我在中文下打的…

Linux编程基础 5.3:信号量

4 信号量 信号量是专门用来解决进程同步与互斥问题的一种通信机制,它与信号无关;不同于管道、FIFO以及消息队列,一般不用来传输数据;信号量包括:表示资源数量的非负整型变量、修改信号量的原子操作P和V、该信号量下等…

谷歌浏览器外贸版_针对谷歌SEO,你有哪些值得推荐的工具、插件、网站、app,或者技巧分享?...

接触并了解谷歌SEO也有3年了,这3年来,一直钻研这块技术和工具,今天刚好看到这个问题,就分享下。目前谷歌SEO主要分3大块,站内SEO(On page seo,做好站内优化),站外SEO(off page seo 主要是外链)&…

hadoopsdk使用_hadoop部署使用问题及解决

在cygwin环境中填写路径信息时务必注意将“\”替换为“/”。hadoop文件夹名称不能包含“-”,比如“hadoop-2.4.0”会出错。在cygwin环境中尽管“C:\abc”和“/cygdrive/c/abc”都可以被正确识别,但某些软件会将前者识别为相对路径,从而出现错…

Linux编程基础 5.4:共享内存

5 共享内存 共享内存允许两个或多个进程访问给定的同一块存储区域。它是效率最高的一种进程通信方式,节省了不同进程间多次读写的时间;在写进程的操作尚未完成时,不应有进程从共享内存中读取数据。共享内存自身不限制对共享内存的读写次序&a…

升级浏览器_微软IE11浏览器 最后的升级机会

微软IE10浏览器将很快退出支持,许多Windows用户将没有任何安全或非安全更新,免费或付费辅助支持选项或在线技术内容等。幸运的是,微软正在为Windows用户提供升级到IE11的最后机会,目前IE11仅次于Firefox浏览器,这是互联…

jq如何获取选中option的值_【分享】如何获取变量token的值

一.什么是token客户端使用用户名跟密码请求登录服务端收到请求,去验证用户名与密码验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 LocalStorage …

Linux编程基础 6.1:线程操作

1 线程操作 创建线程 挂起线程 终止线程 其它操作 1.1 创建线程 #include <pthread.h>int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg); 功能&#xff1a;创建线程&#xff1b;线程调用pthread_crea…

灯效控制器和rgb控制器_更具个性的RGB风扇,机箱里的魔术师,九州风神MF120GT开箱...

写在前面不知道在2020年还有多少人会自己装机&#xff0c;相信喜欢个性的DIY玩家还是会陆陆续续跳进这个不小的坑。装机的乐趣在哪里&#xff0c;除了几大硬件&#xff0c;显然个性的灯效才是装机的灵魂。在光污染的道路上&#xff0c;普通的光环&#xff0c;光面等风扇&#x…

华为交换机ssh思科交换机_华为交换机SSH(stelnet)配置实例教程

Stelnet(安全telnet)登陆也成为shh(sercure shell,安全外壳)登陆-----------必要配置---------------1、先根据加密算法生成秘钥对,用于传输数据时加密保护&#xff0c;保存在交换机中但不保存在配置文件中[Huawei]rsa local-key-pair create或[Huawei]dsa local-key-pair crea…

Linux编程基础 6.2:线程同步

2 线程同步 线程同步中的“同步”与生活中大家认知的“同步”略有不同&#xff0c;“同”不指同时&#xff0c;其主旨在于协同步调&#xff0c;按预定的先后次序执行线程&#xff1b;之所以需要实现线程同步&#xff0c;是因为若不对线程的执行次序加以控制&#xff0c;可能会…