线程与进程的区别于联系

来源:互联网 发布:深度linux系统写python 编辑:程序博客网 时间:2024/05/18 02:18

进程定义:进程被定义为程序执行时的一个实例,程序的一个执行过程,是操作系统进行资源分配和调度的基本单位。每个进程提供了程序执行时的所有资源,每个进程都有自己的虚拟地址空间,执行代码,系统对象打开的句柄,安全切换的上下文,唯一的进程号,私有的环境变量,优先级,最小和最大工作集合大小,至少有一个线程被执行。每一个进程都是由一个单一线程开始,这个线程被称为初级线程,但是线程能够从任何线程创造额外的线程。

线程定义:是进程能够被计划执行的实体。同一进程内的线程共享虚拟地址空间和系统资源。另外,每一个线程维持异常处理,可独立调度,线程本地存储和一系列操作系统计划使用并保存的线程内容。内核堆栈,用户堆栈和线程环境变量块和用户堆栈都存储在线程地址空间中。

进程和线程的区别:

同一进程内的所有线程运行在共享内存空间之中,进程之间运行在各自的内存空间之中。

线程可以直接进入拥有它的进程的数据段,进程拥有复制父进程数据段的权利。

线程可以在拥有它的进程和进程内别的线程通信。进程一定要通过进程间通信来和兄弟进程通信。

线程创建几乎无开销,进程创建有可观的开销。

进程创建一定要通过它的父进程来复制,但线程创建却很容易。

改变进程中的主线程可能会改变同一进程内的其他线程,改变父进程却不会改变他的子进程。

进程和线程的联系:

线程有时候被看做轻量级的进程。


才疏学浅,待日后对技术有 更深的了解在来对本文进行改正。

一个关于进程和线程的讨论: http://www.blog.edu.cn/user1/19546/archives/2005/173994.shtml

并发是指同时具有多个活动的系统,并行是指并发使一个系统跑的更快。

0 0