线程与进程的区别

  • 进程

       进程,是并发执行的程序在执行过程中分配和管理资源的基本单位。每个进程都有一个自己的地址空间,空间大小只与处理机的位数有关。进程至少有5种状态:初始态、就绪态、执行态、等待态、终止态。

  • 线程

       线程,在网络或多用户环境下,一个服务器通常要接收大量用户的并发请求,为每个请求创建一个进程显然是行不通的(系统资源开销、响应的效率等),所以引进了线程概念。线程是进程的一部分,可以成为轻量级进程,是CPU调度的一个基本单位

  • 区别

  1) 进程是分配和管理资源的基本单位,拥有独立的内存地址;线程是CPU调度的基本单位,没有独立的地址空间,有独立的栈、程序计数器等。

  2) 创建进程的开销大,而创建线程开销小。

  3) 一个进程无法直接访问另一个进程的资源,访问时需要使用进程通信,比如管道、套接字等;同一个进程内的多个线程共享进程的资源。

  4) 进程切换开销大,线程切换开销小;进程间通信开销大,线程间通信开销小。

  5) 线程属于进程,不能独立执行。每个进程至少要有一个线程,成为主线程。

原文地址:https://www.cnblogs.com/jiqianqian/p/6649669.html