进程与线程的区别

9个月前 (03-07) wang 技术杂谈, 操作系统 0评论 已收录 233℃ 浏览数:191

计算机内部每个正在运行的程序都是一个进程,每个进程中包含一个多个线程。

程序是静态的指令集合,而进程是运行中的指令集合。

进程:程序的一次执行 资源分配的基本单位
线程:CPU调度的基本单位

线程是最轻量级的进程,由操作系统负责多个线程的调度和执行。

进程的内存空间一般是独立的,而线程的内存空间一般是共享的,每个线程都由自己的堆栈和程序计数器。多线程是为了节约CPU空间。
线程间的同步是为了防止竞争(因同时修改导致数据的不一致),所以要使用互斥锁,防止多个线程同时读写某一块内存区域。
还有的内存区域只允许固定个数的线程进入,就要使用信号量,防止线程之间产生冲突。
互斥锁止允许一个线程进入临界区,而信号量允许多个线程同时进入临界区。
调度和切换:线程上下文切换比进程上下文切换要快得多。
博主

Just do it. Now or never.

相关推荐

嗨、骚年、快来消灭0回复。