进程:
- 程序的执行实例称为进程。
- 有些操作系统使用术语"任务"来指正在执行的程序。
- 进程总是存储在主存储器中,也称为主存储器或随机存取存储器。
- 因此,过程被称为活动实体。如果机器重新启动,它就会消失。
- 多个进程可以与同一个程序相关联。
- 在多处理器系统上,可以并行执行多个进程。
- 在单处理器系统中,虽然没有实现真正的并行性,但是应用了一种进程调度算法,并且将处理器调度为一次执行一个进程,从而产生并发的假象。
- 示例:执行"计算器"程序的多个实例。每个实例都被称为一个进程。
线程:
- 线程是进程的一个子集。
- 它被称为"轻量级进程",因为它与实际进程类似,但在进程上下文中执行,并共享内核分配给进程的相同资源。
- 通常,一个进程只有一个控制线程——一次执行一组机器指令。
- 进程也可以由多个执行线程组成,这些线程同时执行指令。
- 多线程控制可以利用多处理器系统上的真正并行性。
- 在单处理器系统中,应用了一种线程调度算法,处理器被调度为一次运行一个线程。
- 在一个进程中运行的所有线程共享相同的地址空间、文件描述符、堆栈和其他与进程相关的属性。
- 由于进程的线程共享相同的内存,因此同步进程内对共享数据的访问具有前所未有的重要性
关于并发编程的更多解释
-
进程具有独立的执行环境。进程通常具有一组完整的、私有的基本运行时资源;特别是,每个进程都有自己的内存空间。
-
线程存在于进程中-每个进程至少有一个。线程共享进程的资源,包括内存和打开的文件。这有助于有效但有潜在问题的沟通。
在计算机上,打开Microsoft Word和Web浏览器。我们称之为这两个进程。
在Microsoft Word中,您键入一些内容,它将自动保存。现在,您将看到编辑和保存是并行进行的——在一个线程上进行编辑,在另一个线程上进行保存
进程是代码、内存、数据和其他资源的集合。线程是在进程范围内执行的代码序列。您可以(通常)在同一进程中同时执行多个线程。
- 每个进程都是一个线程(主线程)。