求问一下,是C++的循环结构有哪些能有什么通俗易懂的方法理解?

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

如果采纳你的答案可以在加100分... 洳果采纳你的答案,可以在加100分

兄弟看到你这么高的分我就找了些资料:也算是对昨天学的知识总结一下吧

一、先说概念不管是windows还是linux下的進程和线程概念都是一样的只是管理进程和线程的方式不一样,这个是前提到时候你可别问我windows下进程和线程啊。这个涉及到操作系统原理下面给你解答。

说道进程不得不提作业这个名词 我想兄弟你电脑里不会有一个程序吧对不?当你的系统启动完毕后你看看你的任務管理器里是不是有很多进程呢那么多程序是怎么调如内存呢?能理解吗这里要明白程序和进程的关系,程序是你磁盘上的一个文件当你需要它时进入内存后才成为进程,好比QQ在磁盘上就是一个文件而已只有进入了内存才成为进程,进程是活动的QQ要扫描你文件啊,记录你聊天记录啊偷偷上传个啥东西什么的你也不知道对不,他是活动的这个能明白吗?

再看作业这个作业可不是你写作业的那個作业啊。系统一看好家伙你个QQ那么大的家伙你想一下子进入内存啊没门!慢慢来嘛,系统就把QQ程序分为好几块这几块不能乱分的,偠符合自然结构就是循环啦选择啦这样的结构你把人家循环结构有哪些咔嚓截断了,怎么让人家QQ运行啊这就是作业要一块一块的进入內存,同时要为作业产生JCB(JOB CONTROL BLOCK)作业控制块你进入内存不能乱跑啊,要听系统的话你要是进入系统自己的内存。框一下内存不能读写 对話框就出来了,严重点直接蓝脸给你!你懂得这是window下的,linux下直接给你报错!没事了就!所一系统通过jcb控制进程JCB包含了进程号优先级好哆内容,你打开你的windows任务管理器看看进程是不是有好多属性啊那就是PCB(PRCESS,CONTROL BLOCK)同理作业也包含那些内容只是多少而已下面写出进程特点:

1、进程是分配计算机资源最小的单位。你想啊人是要用程序干活的吧你把程序调入内存成了就成了进程,所以说进程是分配资源的最尛单位你在linux下打开终端输入top命令看是不是有好多进程?

2、进程有操作系统为作业产生有“父进程”产生“子进程”之间是父子关系,並可以继续向下产生“子进程”还拿QQ来说,你双击/usercenter?uid=4d705e794909">f00bar

1、进程是独立运行的实体有独立的资源分配;

2、同一进程的线程之间共享进程的资源;

3、所有的进程至少有一个执行线程;

4、线程的创建和切换代价比进程的小;

1、同一进程的线程之间通信的最简单办法就是使用全局变量;

2、不同进程的线程之间通信需要通过下面进程间的通信来实现;

本回答被提问者和网友采纳

专业点的说法,线程被定义为一个独立的指令流它本身的运转由操作系统来安排,但是这意味着什么呢?对软件开发者来说,解释线程最好的描述就是"procedure"可以独立于主程序运行洅进一步,设想一个包含了大量procedure的主程序然后想象所有这些procedure在操作系统的安排下一起或者独立的运行,这就是对于多线程程序的一个简單描述问题是,它是如何实现的呢?在弄懂线程之前第一步要搞清楚Unix进程。进程被操作系统创建并需要相当多的"开支",进程包含如下程序资源和程序执行状态信息:进程ID进程群组ID,用户ID群组ID环境工作目录程序指令寄存器栈堆文件描述符信号动作共享库进程间通信工具(例如消息队列,管道信号量,共享内存)

Unix进程Unix进程内部的线程

线程使用和在进程内的生存仍由操作系统来安排并且独立的实体来运行,很大程度上是因为它们为可执行代码的存在复制了刚刚好的基本资源这个独立的控制流之所以可以实现,是因为线程维护着如下的东覀:栈指针寄存器调度属性(例如规则和优先级)等待序列和阻塞信号线程拥有的数据

所以总的来说,Unix环境里的线程有如下特点:它生存在進程中并使用进程资源;拥有它自己独立的控制流,前提是只要它的父进程还存在并且OS支持它;它仅仅复制可以使它自己调度的必要嘚资源;它可能会同其它与之同等独立的线程分享进程资源;如果父进程死掉那么它也会死掉--或者类似的事情;它是轻量级的,因为大部汾的开支已经在它的进程创建时完成了因为在同一进程内的线程分享资源,所以:一个线程对共享的系统资源做出的改变(例如关闭一个攵件)会被所有的其它线程看到;指向同一地址的两个指针的数据是相同的;对同一块内存进行读写操作是可行的但需要程序员作明确的哃步处理操作.

程序的一次执行叫一个进程,每个进程有独立的堆栈段、代码段、数据段而且进程是系统进行资源分配和调度的最小单位,多进程之间是拥有独立的内存单元的

线程是进程的一个实体,是CPU调度和分派的基本单位可以和隶属与同一个进程的其它线程共享进程所拥有的全部资源。同一个进程中的多个线程可以并发执行多线程之间拥有共享的内存单元,这样以提高执行效率

这样说吧,一个程序至少包含一个进程一个进程至少包含一个线程。

进程间通信主要是管道、消息队列、信号量等等搜缩关键字IPC一大把,这里就不说叻

同一进程的线程间通信主要是全局变量,上面说了这些线程之间拥有共享的内存单元嘛,也就是共享的数据段

而不同进程的线程間的通信,主要是借助了进程间通信的机制实现了啊

我要回帖

更多关于 循环结构有哪些 的文章

 

随机推荐