进程和线程的区别
Posted codelzc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程和线程的区别相关的知识,希望对你有一定的参考价值。
进程是资源分配的独立单元,而线程是CPU调度的基本单位;
同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进程至少包括一个线程。
线程没有自己的地址空间,线程包含在进程的地址空间中。一个线程死掉会导致整个进程死掉,而进程之间是独立的,一个进程死掉不会影响其他进程。进程中的线程共享进程的内存和资源,他们共享代码段、数据段、堆,但是线程间拥有自己的栈。
线程是轻量级的进程,它的创建和销毁所需要的时间比进程小很多。
进程间相互独立,通信困难,常用的IPC:管道,信号,套接字,共享内存,消息队列等;线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
以上是关于进程和线程的区别的主要内容,如果未能解决你的问题,请参考以下文章