`
eater2046
  • 浏览: 6979 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

进程与线程

阅读更多

进程就是应用程序的运行实例。每个进程都有自己私有的虚拟地址空间。每个进程都有一个主线程,但可以建立另外的线程。进程中的线程是并行执行的,每个线程占用CPU的时间由系统来划分。

  可以把线程看成是操作系统分配CPU时间的基本实体。系统不停地在各个线程之间切换,它对线程的中断是汇编语言级的。系统为每一个线程分配一个CPU时间片,某个线程只有在分配的时间片内才有对CPU的控制权。实际上,在PC机中,同一时间只有一个线程在运行。由于系统为每个线程划分的时间片很小(20毫秒左右),所以看上去好象是多个线程在同时运行。

  进程中的所有线程共享进程的虚拟地址空间,这意味着所有线程都可以访问进程的全局变量和资源。这一方面为编程带来了方便,但另一方面也容易造成冲突。

  虽然在进程中进行费时的工作不会导致系统的挂起,但这会导致进程本身的挂起。所以,如果进程既要进行长期的工作,又要响应用户的输入,那么它可以启动一个线程来专门负责费时的工作,而主线程仍然可以与用户进行交互。


简单的说,你每启动一个程序,就启动了一个进程。在Windows 3.x下,进程是最小运行单位。在Windows 95/NT下,每个进程还可以启动几个线程,比如每下载一个文件可以单独开一个线程。在Windows 95/NT下,线程是最小单位。WINDOWS的多任务特性使得线程之间独立运行,但是它们彼此共享虚拟空间,也就是共用变量,线程有可能会同时操作一片内存。

所谓进程,本身不能执行,它只是一个资源的集合体,拥有地址空间,模块,内存,...
线程是真正的执行单元,一个进程如果没有线程,那么就没有存在的意义,因为不可能执行。

分享到:
评论

相关推荐

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

    4. **线程与工人**:在一个车间里,有许多工人协同完成任务,这里的工人可以对应于进程中的线程。一个进程可以包含多个线程,它们共同完成同一项任务的不同部分。 5. **共享资源**:车间的空间(例如工具间、仓库等...

    操作系统课程设计-linux进程与线程的通讯

    在操作系统课程设计中,Linux进程与线程的通信是一个核心且复杂的主题。在这个项目中,学生将深入理解操作系统内核如何管理和协调不同进程和线程之间的数据交换,从而实现高效的任务执行。以下是对这个主题的详细...

    基于c#的简单的进程与线程管理器

    本文将详细讲解如何使用C#语言来创建一个简单的进程与线程管理器,适合初学者入门。 首先,让我们了解基础概念。进程是操作系统中正在运行的一个程序实例,每个进程都有独立的内存空间,而线程则是进程内的执行单元...

    \嵌入式linux开发教程之进程与线程--千锋培训

    嵌入式Linux开发教程深入探讨了进程与线程的概念及其在操作系统中的实现,这对于理解和开发高效、并发的嵌入式应用程序至关重要。以下是这些知识点的详细解释: **一、基础知识:线程和进程** 1. **进程**:是操作...

    c++进程与线程

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

    进程和线程之间的关系

    对于初学者来说,理解进程与线程的关系至关重要,因为这有助于深入掌握操作系统的基本原理及应用。下面将详细阐述进程与线程之间的区别及其相互作用。 #### 一、进程的概念 进程是程序的一次执行过程,是系统进行...

    进程与线程的管理 .PPT 进程、线程和优先级

    进程与线程是操作系统中重要的概念,它们是执行程序的基础。在计算机系统中,进程可以理解为一个资源分配的基本单位,包含应用程序运行所需的所有资源,如内存、输入/输出设备等。而线程则是执行的基本单元,是进程...

    C++进程与线程详解

    鉴于网上和一些教材上对进程和线程说明不是很全面,在对这方面知识学习之后,进行了总结,对操作系统中进程与线程的关系和一些应用进行了整理,希望对有这方面需要的同道中人有所帮助。

    进程与线程--小练习

    在计算机科学领域,进程与线程是操作系统中最基础且至关重要的概念。进程是程序执行时的一个实例,每个进程都有自己的独立内存空间,包括代码、数据、堆栈等资源。线程则是进程内的一个执行单元,它共享进程的内存...

    进程与线程的一个简单解释

    了解和掌握进程与线程的区别和交互机制,对于编写高效的多线程程序至关重要。通过互斥锁和信号量等同步工具,我们可以有效地控制线程的并发访问,确保程序的正确性和性能。在实际开发中,合理地使用进程和线程,结合...

    操作系统中的进程与线程

    操作系统中的进程与线程是计算机科学中两个基本的并发执行单元。进程是操作系统资源分配的基本单位,它拥有独立的内存空间,包括代码、数据、堆栈等资源,而线程则是执行调度的基本单位,线程共享同一进程的内存资源...

    easx.rar_进程与线程

    "easx.rar_进程与线程"这个压缩包文件显然包含了与易语言(EasyLanguage)相关的幼儿算术程序源码,这为易语言爱好者提供了一个学习和研究进程与线程如何在实际应用中运作的机会。 易语言是一种面向对象、简单易学...

    进程与线程解释

    3. **线程与工人** - 在一个车间里,有许多协同工作的工人,这对应于一个进程中可以有多个线程。 - 线程是任务执行的最小单元,它们共享同一份内存空间,共同完成进程的任务。 4. **内存共享与资源限制** - 就像...

    tph.zip_进程与线程

    标题中的“tph.zip_进程与线程”表明这是一个关于操作系统中进程和线程概念的压缩包文件,可能包含了一些示例代码或者教学材料。在IT领域,进程和线程是计算机程序执行时的重要概念。 **进程**是操作系统中运行程序...

    进程线程结束暂停源码_进程与线程

    综上所述,理解和掌握进程线程的创建、结束、暂停与恢复、同步与通信等知识对于编写高并发、高效能的多线程程序至关重要。在实际编程中,需要根据系统特性选择合适的线程管理机制,并遵循最佳实践以保证程序的稳定性...

    Android Task 进程与线程详解

    "Android Task 进程与线程详解" Android 中的 Task 概念是指一组以栈的模式聚集在一起的 Activity 组件集合,具有潜在的前后驱关联。Task 的主要作用是将组件之间的连接,从进程概念的细节中剥离出来,可以以一种...

    mis.rar_进程与线程

    标题"Mis.rar_进程与线程"涉及到计算机操作系统中的核心概念——进程和线程。在计算机系统中,进程是程序的执行实例,每个进程都有独立的内存空间,而线程则是进程内部的一个执行流,共享同一进程的资源。陶善文的...

    MFC进程与线程Demo程序.zip

    在这个"MFC进程与线程Demo程序"中,我们可以深入理解并实践如何在MFC环境中管理进程和线程。 首先,进程是操作系统分配资源的基本单位,而线程则是执行的基本单位。在MFC中,我们可以使用`CWinApp`类来创建和管理...

Global site tag (gtag.js) - Google Analytics