http://www.cosasde4.com

                                                                  【十分快三注册】php线程和进程的区别-PHP问题

                                                                  一、什么是进程

                                                                  进程是程序执行是的一个实例,,进程能够分配给cpu和内存等资源。进程一般包括指令集和系统资源,其中指令集就是你的代码,系统资源就是指cpu、内存以及I/O等。(推荐学习:PHP编程从入门到精通)

                                                                  进程是一个程序在一个数据集中的一次动态执行过程,可以简单理解为“正在执行的程序”,它是CPU资源分配和调度的独立单位。

                                                                  进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资源;进程控制块用来记录进程的外部特征,描述进程的执行变化过程,系统可以利用它来控制和管理进程,它是系统感知进程存在的唯一标志。

                                                                  进程的局限是创建、撤销和切换的开销比较大。

                                                                  二、什么是线程

                                                                  线程是进程的一个执行流,线程不能分配系统资源,它是进程的一部分,比进程更小的独立运行的单位。

                                                                  解释一下:进程有两个特性:一是资源的所有权,一个是调度执行(指令集),线程是调度执行中的一部分,是指进程执行过程的路径,也叫程序执行流。线程有时候也叫轻量级进程。

                                                                  线程是在进程之后发展出来的概念。 线程也叫轻量级进程,它是一个基本的CPU执行单元,也是程序执行过程中的最小单元,由线程ID、程序计数器、寄存器集合和堆栈共同组成。一个进程可以包含多个线程。

                                                                  线程的优点是减小了程序并发执行时的开销,提高了操作系统的并发性能,缺点是线程没有自己的系统资源,只拥有在运行时必不可少的资源,但同一进程的各线程可以共享进程所拥有的系统资源,如果把进程比作一个车间,那么线程就好比是车间里)面的工人。不过对于某些独占性资源存在锁机制,处理不当可能会产生“死锁”。

                                                                  进程与线程的区别

                                                                  (1)进程是资源的分配和调度的一个独立单[元,而线程是CPU调度的基本单元

                                                                  (2)同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文)。一个线程只能属于一个进程,而一个进程可以有多个线程,]一个进程至少包括一个线程

                                                                  (3)进程的创建调用fork或者vfork,而线程的创建调用pthread_create,进程结束后它拥有的所有线程都将销毁,而线程的结束不会影响同个进程中的其他线程的结束

                                                                  (4)线程是轻量级的进程,它的创建和销毁所需要的时间比进程小很多,CPU分给线程,即真正在CPU上运行的是线程。

                                                                  (5)线程中执行时一般都要进行同步和互斥,因为他们共享同一进程的所有资源

                                                                  郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

                                                                  上一篇:php mvc框架工作原理是什么-PHP问题
                                                                  下一篇:没有了