线程是计算机科学中的一个术语。指运行中的程序的调度单位。一个线程指的是进程中一个单一顺序的控制流。也被称为轻量进程(lightweight processes)。它是系统独立调度和分派的基本单位。同一进程中的多个线程将共享该进程中的全部系统资源,比如文件描述符和信号处理等等。 一个进程可以有很多线程,每个线程并行执行不同的任务。
进程(英语:Process,台湾译作行程)是计算机中已运行程序的物理。进程本身不会运行,是线程的容器。程序本身只是指令的集合,进程才是程序(那些指令)的真正运行。若干进程有可能与同一个程序相关系,且每个进程皆可以同步或不同步的方式独立运行(多线程即每一个线程都代表一个进程)。现代计算机系统可在同一段时间内加载多个程序和进程到存储器中,并借由时间共享(或称多任务),以在一个处理器上表现出同时(平行性)运行的感觉。同样的,使用多线程技术的操作系统或计算机架构,同样程序的平行进程,可在多 CPU 主机或网络上真正同时运行(在不同的 CPU 上)。进程为现今分时系统的基本运作单位。
内容
一个计算机系统进程包括(或者说“拥有”)拥有下列数据:
那个程序的可运行机器码的一个在存储器的图像。
- 分配到的存储器(通常包括虚拟内存的一个区域)。存储器的内容包括可运行代码、特定于进程的数据(输入、输出)、调用堆栈、堆栈(用于保存运行时运数中途产生的数据)。
- 分配给该进程的资源的操作系统描述子,诸如文件描述子(Unix 术语)或文件句柄(Windows)、数据源和数据终端。
- 安全特性,诸如进程拥有者和进程的权限集(可以容许的操作)。
- 处理器状态(内文),诸如寄存器内容、物理存储器寻址等。当进程正在运行时,状态通常存储在寄存器,其他情况在存储器。
进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或信号的一些技术或方法。进程是计算机系统分配资源的最小单位。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。这些进程可以运行在同一计算机上或网络连接的不同计算机上。 进程间通信技术包括消息传递、同步、共享内存和远程过程调用。 IPC是一种标准的Unix通信机制。
目前有以下一些进程间通信的方式:
- 命名和匿名管道 Pipe
- 信号标 Semaphore
- 互斥子 Mutex
- 共享内存 Shared Memory
- 消息队列 Message Queue
- 文件系统
- CORBA
- D-Bus
比如在一个公司,进程就像一个部门,资源的分配时分配到部门,具体到个人就有部门自己安排,个人就好比是线程。不知恰当与否...
759

被折叠的 条评论
为什么被折叠?



