最近在复习进程跟线程。在网上找了很多资料,都讲的优点混乱,且不全面。下面是我整理的比较好的一个答案。
进程与线程的区别:
(1)从概念上来讲:
进程:是一个程序对一个数据集合上的一次执行过程,是动态的,是系统进行资源分配的基本单位。
线程:是进程内的一个基本调度单位;线程的划分尺度小于进程,一个进程包含一个或者多个线程。
(2)从执行过程来讲:
进程:拥有独立的内存单元,而同一个进程内的多个线程共享其内存。
线程:每个独立的线程,都具有一个程序运行的入口、顺序执行序列和程序的出口,但是线程不能单独执行,必须存在进程中,由进程提供多个线程的控制。
(3)从逻辑角度看(重要区别)
多线程的意义在于一个进程中,有多个执行部分可以同时执行。但是操作系统并没有将多个线程看做多个独立的应用程序,来实现进程的调度和管理及资源分配。