`
nenty
  • 浏览: 112521 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

线程与进程(1)

阅读更多
线程和进程的区别:
      1、线程是进程的一部分,所以线程有的时候被称为是轻权进程或者轻量级进程。
      2、一个没有线程的进程是可以被看作单线程的,如果一个进程内拥有多个进程,进程的执行过程不是一条线(线程)的,而是多条线(线程)共同完成的。
      3、系统在运行的时候会为每个进程分配不同的内存区域,但是不会为线程分配内存(线程所使用的资源是它所属的进程的资源),线程组只能共享资源。那就是说,出了cpu之外(线程在运行的时候要占用cpu资源),计算机内部的软硬件资源的分配与线程无关,线程只能共享它所属进程的资源。
      4、与进程的控制表pcb相似,线程也有自己的控制表tcb,但是tcb中所保存的线程状态比pcb表中少多了。
      5、进程是系统所有资源分配时候的一个基本单位,拥有一个完整的虚拟空间地址,并不依赖线程而独立存在。
      进程与程序的区别:
      程序是一组指令的集合,它是静态的实体,没有执行的含义。而进程是一个动态的实体,有自己的生命周期。一般说来,一个进程肯定与一个程序相对应,并且只有一个,但是一个程序可以有多个进程,或者一个进程都没有。除此之外,进程还有并发性和交往性。简单地说,进程是程序的一部分,程序运行的时候会产生进程。
      总结:
      线程是进程的一部分,进程是程序的一部分。

对程序,进程,线程进行比较(总结)2008-01-09 09:022006-09-23 21:04
           进程和程序区别和联系表现在以下方面:
        1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。
进程是一个动态的实体,它有自己的生命周期。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。反映了一个程序在一定的数据集上运行的全部动态过程。
       2)进程和程序并不是一一对应的,一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。而这一点正是程序无法做到的,由于程序没有和数据产生直接的联系,既使是执行不同的数据的程序,他们的指令的集合依然是一样的,所以无法唯一地标识出这些运行于不同数据集上的程序。一般来说,一个进程肯定有一个与之对应的程序,而且只有一个。而一个程序有可能没有与之对应的进程(因为它没有执行),也有可能有多个进程与之对应(运行在几个不同的数据集上)。
          3)进程还具有并发性和交往性,这也与程序的封闭性不同。进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:
         简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
          线程的划分尺度小于进程,使得多线程程序的并发性高。
        另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
          线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
         从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。
      进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
      线程是进程的一个实体,是cpu调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
     一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.
0
0
分享到:
评论

相关推荐

    python线程与进程实现方式

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

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

    ### 进程与线程的生动形象理解 #### 一、引言 进程与线程作为操作系统中的核心概念,对于理解和开发高效的软件至关重要。本文旨在通过一个生动的类比来帮助读者更好地理解进程与线程的基本概念及其差异,并进一步...

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

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

    JAVA线程与进程的区别

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

    进程和线程之间的关系

    1. **资源拥有方式**:进程拥有独立的资源集合,而同一进程内的所有线程则共享这些资源。 2. **调度和切换成本**:由于线程间共享资源,其调度和切换成本比进程低得多。 3. **通信机制**:进程间的通信(IPC)较为...

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

    1. **进程与线程的概念**: - **进程**:是操作系统资源分配的基本单位,拥有独立的内存空间和系统资源,可以并发执行。 - **线程**:是程序执行的最小单元,共享同一进程的资源,有自己的程序计数器、栈和局部...

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

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

    线程和进程的区别.txt

    #### 进程与线程的基本概念 在现代操作系统(如Windows、UNIX等)中,进程(Process)和线程(Thread)是两个非常重要的概念,它们对于理解和设计多任务操作系统及其应用程序至关重要。进程是操作系统进行资源分配...

    线程与进程的区别

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

    最清楚的进程线程,进程和线程对比

    线程基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器、一组寄存器和栈),但它可与同属一个进程的其他线程共享进程所拥有的全部资源。线程的存在使得操作系统可以同时调度同一进程中的多个...

    易语言多线程监控进程

    1. **进程进入**:当一个新的进程被创建并开始运行时,我们的监控线程应该能够捕获到这个事件。这可能需要定时检查进程列表,并比较当前列表与上一次检查时的区别。 2. **监视进程退出**:当监控的进程结束时,我们...

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

    ### 关于线程与进程详细解说 #### 一、引言 在计算机科学领域,进程与线程是两个核心概念,对于理解操作系统的工作原理至关重要。本文将深入探讨这两个概念,并通过直观的图解来帮助读者更好地理解它们之间的区别...

    线程 与 进程 资料

    总结,理解和掌握线程与进程的概念及其相互关系对于优化系统性能、编写高效的并发程序至关重要。在实际开发中,应根据具体场景选择合适的模型,平衡资源消耗与并发性能,从而提高软件的效率和稳定性。

    易语言多线程监控进程源码

    "易语言源码分享站"标签提示我们,这个压缩包可能包含了易语言编写的多线程进程监控程序的源代码。通过阅读和学习这些源代码,开发者可以了解到如何在易语言中实现多线程,以及如何获取和处理系统进程数据。content....

    linux unix下多线程与进程

    三、进程与线程的区别 1. 资源分配:进程有独立的资源,如内存空间;而线程共享进程资源,只有少量私有资源,如栈。 2. 创建和销毁:创建和销毁进程开销较大,而线程的创建和销毁速度快得多。 3. 通信:进程间通信...

    进程线程及死锁

    1. 进程的概念和类型 2. 线程的概念和类型 3. POSIX规范中的系统调用(fork、kill、pthread_create等) 4. 死锁的概念和类型 5. 互斥锁的概念和使用 6. 进程控制的实验程序设计和实现 7. 线程创建和管理 8. 死锁的...

    在线程中启动进程

    本文将深入探讨在线程中启动进程这一技术,以及如何通过管道(pipe)来实现线程与子进程之间的通信。 首先,我们来理解一下多线程和多进程的概念。多线程是指在一个进程中可以同时执行多个线程,它们共享同一地址...

    线程与进程 Processes or Threads part1.pdf

    这是关于并列与分布式的技术文档的一部分,Processes or Threads 线程与进程,本开发文档适合对于并列与分布式感兴趣的有一定计算机基础初学的朋友,一个快捷的学习文档或者温故知新,这是第一部分不要忘了第二部分...

    c++进程与线程

    总结,理解和掌握C++中的进程与线程是编写高性能、并发应用程序的关键。正确地利用它们可以提高程序的效率,但同时也需要关注同步和通信的细节,以避免潜在的问题。通过实践和学习,开发者能够更好地驾驭这个强大的...

Global site tag (gtag.js) - Google Analytics