PHP 线程,进程、并发、并行的理解

进程是操作系统分配资源和调度的功能单元,一个进程里面有一个或者多个线程,线程是操作系统的一个独立运算单元。通常可以认为一个软件对应一个进程,并行是指多个软件一起运行,实际上分时复用...

进程是操作系统分配资源和调度的功能单元,一个进程里面有一个或者多个线程,线程是操作系统的一个独立运算单元。通常可以认为一个软件对应一个进程,并行是指多个软件一起运行,实际上分时复用而已,并发是指某个软件在运行的时候把计算分给多个CPU同时进行计算,是真正的同一时间内一起发生的事情。 
一个比较形象的理解方式: 
http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html

PHP-fpm使用的就是多进程模型。 
HHVM它选择的是多线程模型。

对于某个服务而言,譬如web服务,主要考虑它的并发能力,就是单位时间内能处理的请求数量。而并行计算就是为了提高并发能力的。脱离nginx或者apache来说,php的并行处理能力,既可以用多进程的模型来提高,也可以用多线程的模型来提高。最简单的情况下,php提供单进程单线程的方式来提供服务,每次之处理一个请求,如果请求的处理速度足够快,一秒时间内并发能力也可以算是强的,但是这样比较浪费资源,所以往往会根据CPU、内存、网络的情况来设置多进程、多线程或者多服务器来提高并发能力。

  • 发表于 2017-02-20 10:36
  • 阅读 ( 418 )
  • 分类:互联网

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
we

1 篇文章

作家榜 »

  1. mni_Ya 28 文章
  2. qtb000 4 文章
  3. we 1 文章
  4. NEVER SETTLE 0 文章
  5. pengzhiqiang 0 文章
  6. 搁浅 0 文章
  7. 游荡在大马路上的大马猴 0 文章
  8. MGeek 0 文章