PHP进程和线程之间有什么区别呢?
1、本质区别:进程是操作系统资源分配的基本单位,而线程是CPU任务调度和执行的基本单位。
2、空间和资源:进程之间相互独立,统一进程内的线程之间可以共享资源。不同进程中的线程相互独立。
3、切换开销:进程之间有自己独立的代码段和数据空间(程序上下文),进程之间的切换需要保存上下文、寄存器等数据,会有较大的开销;同一个进程中的线程共享代码段和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。
4、相互关系:进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都会挂掉。
5、执行顺序:进程有自己的程序运行的入口、顺序执行序列和程序出口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制,两者均可并发执行。