`
yefei
  • 浏览: 124237 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

线程与进程的区别?

 
阅读更多
1、相同点:
(a)二者都具有ID,一组寄存器,状态,优先级以及所要遵循的调度策略。
(b) 每个进程都有一个进程控制块,线程也拥有一个线程控制块。
(c) 线程和子进程共享父进程中的资源;线程和子进程独立于它们的父进程,竞争使用处理器资源;线程和子进程的创建者可以在线程和子进程上实行某些控制,比如,创建者可以取消、挂起、继续和修改线程和子进程的优先级;线程和子进程可以改变其属性并创建新的资源。
2、不同点:
(a) 线程是进程的一部分, 一个没有线程的进程是可以被看作单线程的,如果一个进程内拥有多个进程,进程的执行过程不是一条线(线程)的,而是多条线(线程)共同完成的。
(b) 启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼此切换所需的时间也远远小于进程间切换所需要的时间。
(c)系统在运行的时候会为每个进程分配不同的内存区域,但是不会为线程分配内存(线程所使用的资源是它所属的进程的资源),线程组只能共享资源。对不同进程来说,它们具有独立的数据空间,要进行数据的传递只能通过通信的方式进行,这种方式不仅费时,而且很不方便。而一个线程的数据可以直接为其他线程所用,这不仅快捷,而且方便。
(d) 与进程的控制表PCB相似,线程也有自己的控制表TCB,但是TCB中所保存的线程状态比PCB表中少多了。
(e) 进程是系统所有资源分配时候的一个基本单位,拥有一个完整的虚拟空间地址,并不依赖线程而独立存在。
还有一些可以参考Jackie发表的日志《线程,进程和程序的简单比较》。

转自:http://www.hinn.cn/2008/05/process_and_thread.html
分享到:
评论

相关推荐

    进程和线程有什么区别?

    线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。 从逻辑角度来看,多...

    JAVA线程与进程的区别

    "JAVA线程与进程的区别" JAVA语言中,线程(Thread)和进程(Process)是两个基本概念,它们都是操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。但是,它们之间有着本质的区别。 ...

    进程与线程的生动形象理解

    本文旨在通过一个生动的类比来帮助读者更好地理解进程与线程的基本概念及其差异,并进一步探讨它们在实际应用中的联系与区别。 #### 二、生动形象的类比 为了更好地理解进程与线程,我们可以将计算机比喻成一座工厂...

    python线程与进程实现方式

    本篇将详细探讨Python中的线程与进程,以及它们与生成器和装饰器的关系。 首先,我们要了解线程与进程的基本概念。进程是操作系统分配资源的基本单位,每个进程都有独立的内存空间。线程则是进程内部的执行单元,...

    线程与进程的区别

    进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程...

    操作系统实验报告——线程与进程同步

    操作系统实验报告——线程与进程同步,主要探讨了在Linux环境下如何实现进程和线程的同步,以解决经典的生产者-消费者问题。该实验旨在帮助学生掌握操作系统提供的同步机制,并深化对经典同步问题的理解。 实验内容...

    线程和进程的区别.txt

    #### 进程与线程的区别 1. **资源管理**: - **进程**:每个进程拥有独立的地址空间和资源,这意味着一个进程中的修改不会影响到其他进程。 - **线程**:同一进程内的所有线程共享地址空间和资源,这使得线程之间...

    线程与进程的区别(执行过程、逻辑)

    线程与进程是操作系统中两种基本的执行单元,它们各自有着独特的特性和作用。理解这两者的区别对于理解和优化软件性能至关重要。 首先,进程是操作系统分配资源的基本单位,它代表了一个程序在内存中的完整实例。在...

    进程和线程之间的关系

    下面将详细阐述进程与线程之间的区别及其相互作用。 #### 一、进程的概念 进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位。每一个进程都有独立的地址空间和系统资源,包括但不限于内存段、打开的...

    73道Java面试题合集-多线程与进程

    2. **线程与进程的区别**: - 进程间不共享内存,而线程间默认共享内存,通信更高效。 - 创建和销毁进程开销大,线程则小得多。 - 每个进程有独立的代码和数据空间,线程只有一份共享的代码和数据空间。 3. **...

    内核线程和进程的区别

    这种机制与传统的线程模型不同,传统的模型中线程是系统级资源管理的基本单位,而Linux将线程视作和普通进程一样,通过共享部分资源的方式来实现多线程操作。 在Linux内核中,并没有专门的线程调度算法或者数据结构...

    Qt线程之间通信、线程和进程之间通信实例

    本实例将深入探讨Qt如何实现线程间通信以及线程与进程间通信,并提供简单易懂的代码示例。 一、Qt线程间通信 Qt通过信号和槽机制,使得线程间的通信变得直观且易于理解。信号是对象状态变化的通知,而槽是响应这些...

    关于线程与进程详细解说 图解 最实用 最全面

    #### 三、进程与线程的区别 1. **资源占用**: - **进程**:每个进程都有自己独立的地址空间和其他资源,因此创建和销毁一个进程的开销较大。 - **线程**:同一进程内的线程共享进程的资源,如内存空间、文件句柄...

    线程 与 进程 资料

    三、进程与线程的区别 1. 资源分配:进程拥有独立的资源,而线程共享进程的资源。 2. 创建和销毁:创建和销毁进程的开销较大,而线程的创建和销毁相对快速。 3. 内存模型:进程间内存独立,线程间共享内存。 4. 并发...

    易语言多线程监控进程

    这可能需要定时检查进程列表,并比较当前列表与上一次检查时的区别。 2. **监视进程退出**:当监控的进程结束时,我们需要记录这一情况,可能还需要执行某些清理工作,例如释放资源或更新日志。 3. **关闭线程**:...

    线程,进程,程序的区别

    进程和线程的区别主要表现在以下几个方面: 1. 地址空间和其他资源:进程间是相互独立的,每个进程拥有自己的地址空间和资源,如打开的文件等。而线程则共享所属进程的资源,如内存和I/O设备等。 2. 通信:进程...

Global site tag (gtag.js) - Google Analytics