北京

点击搜索

发布

千锋上海PHP学习难不难

区域:
北京 > 北京周边
类别:
其他广告
地址:
北京市海淀区宝盛北里西区28号天丰利商城4层

千锋上海PHP学习难不难?
PHP进程、线程傻傻分不清楚,戳进来有详细解析
在学习PHP时,必不可少的会遇到进程和线程,今天千锋小编就详细给大家做一个介绍,希望对你的PHP学习有所帮助。
进程
进程是什么?进程是正在执行的程序;进程是正在计算机上执行的程序实例;进程是能分配给处理器并由处理器执行的实体。 进程一般会包括指令集和系统资源集,这里的指令集是指程序代码,这里的系统资源集是指I/O、CPU、内存等。 综合起来,我们也可以理解进程是具有一定独立功能的程序在关于某个数据集合上的一次运行活动, 进程是系统进行资源分配和调度的一个独立单位。
在进程执行时,进程都可以被的表示,由以下一些元素组成:
进程描述符:进程的标识符,用来和其它进程区分。在Linux中叫进程ID,在系统调用fork期间生成,只是我们通过getpid返回的不是其pid字段,而是其线程组号tgid。
进程状态:我们常说的挂起、运行等状态,其表示的是当前的状态。
优先级:进程间的执行调度相关,相对于其它进程而言。
程序计数器:程序中即将被执行的下一条指令的地址,该地址是内核术中或用户内存空间中的内存地址。
内存指针:包括程序代码和进程相关数据的指针,还有和其它进程共享内存块的指针。
上下文数据:进程执行时处理器的寄存器的数据。
I/O状态信息:包括显式的I/O请求、分配给进程的I/O设备等
记账信息:可能包括处理器时间总和、使用的时钟数总和、时间限制等
以上的这些元素都会放在一个叫做进程控制块的数据结构中。进程控制块是操作系统能够支持多进程和提供多处理的结构。 当操作系统做进程切换时,它会执行两步操作,一是中断当前处理器中的进程,二是执行下一个进程。 不管是中断还是执行,进程控制块中的程序计数器、上下文数据和进程状态都会发生变化。 当进程中断时,操作系统会把程序计数器和处理器寄存器(对应进程控制块中的上下文数据)保存到进程控制块中的相应位置, 进程状态也会有所变化,可能进入阻塞状态,也有可能进入就绪态。 当执行下一个进程时,操作系统按规则将下一个进程设置为运行态,并加载即将要执行进程的程序上下文数据和程序计数器等。
线程
进程有两个特性部分:资源所有权和调度执行。 资源所有权是指进程包括了进程运行所需要的内存空间、I/O等资源。 调度执行是指进程执行过程中间的执行路径,或者说程序的指令执行流。 这两个特性部分是可以分开的,分开后,拥有资料所有权的通常称为进程,拥有执行代码的可分派部分的被称之为线程或轻量级进程。
线程有“执行的线索”的意思在里面,而进程在多线程环境中被定义为资源所有者,其还是会存储进程的进程控制块。 线程的结构与进程不同,每个线程包括:
线程状态: 线程当前的状态。
一个执行栈
私有的数据区: 用于每个线程局部变量的静态存储空间
寄存器集: 存储处理器的一些状态
每个进程都有一个进程控制块和用户地址空间,每个线程都有一个独立的栈和独立的控制块,都有自己一个独立执行上下文。
千锋教育:http://www.mobile***/
千锋上海校区:http://sh.mobile***/
上海校区地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
培训咨询专线:021-56166283/56166279
咨 询 Q Q : 1660794050
面授课程:全栈HTML5+培训、UI交互设计培训、JavaEE+云数据培训、Android课程培训、iOS课程培训、好程序员

查看更多北京广告媒体信息

免责声明:此信息系发布者(UID:350376)自行发布,本站是服务平台,仅提供信息存储空间服务,该信息内容的真实性及合法性由该发布者完全负责。

© lieju.com 联系我们