`
sodabao
  • 浏览: 166160 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

线程与进程

阅读更多
前几天研究java的线程,感觉理论的掌握不够,故向同学借了点资料研究,不了同学给我考博的操作系统的材料,我总结了一下,把其中部分分享一下,大家一同进步.


1 线程的引入
      进程:资源分配单位(存储器、文件)和CPU调度(分派)单位。又称为"任务(task)"
      线程:作为CPU调度单位,而进程只作为其他资源分配单位。
只拥有必不可少的资源,如:线程状态、寄存器上下文和栈
同样具有就绪、阻塞和执行三种基本状态
      线程的优点:减小并发执行的时间和空间开销(线程的创建、退出和调度),因此容许在系统中建立更多的线程来提高并发程度。
      线程的创建时间比进程短;
      线程的终止时间比进程短;
      同进程内的线程切换时间比进程短;
      由于同进程内线程间共享内存和文件资源,可直接进行不通过内核的通信;

2 进程和线程的比较
         地址空间和其他资源(如打开文件):进程间相互独立,同一进程的各线程间共享--某进程内的线程在其他进程不可见
         通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信--需要进程同步和互斥手段的辅助,以保证数据的一致性
         调度:线程上下文切换比进程上下文切换要快得多
分享到:
评论

相关推荐

    python线程与进程实现方式

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

    JAVA线程与进程的区别

    但是进程与线程的重要区别在于线程不能够单独执行,它必须运行在处于活动状态的应用程序进程中。 在 Java 语言中,线程支持与语言运行环境结合在一起,提供了多任务并发执行,多线程的意义在于一个应用程序的多个...

    java多线程与进程调度

    进程与线程的区别 进程(Process)和线程(Thread)是多任务处理的两种基本单位。进程是操作系统资源分配和调度的基本单位,每个进程拥有独立的内存空间,而线程则是进程内部的一个执行单元,多个线程可以共享进程...

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

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

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

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

    线程 与 进程 资料

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

    线程与进程的区别

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

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

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

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

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

    15.线程与进程.doc

    线程与进程是操作系统中并发执行的基本单位,理解它们的概念和特性对于编写高效的多任务程序至关重要。线程,可以理解为程序中独立的控制流,它不拥有独立的资源,而是共享同一进程的资源,包括内存空间、打开的文件...

    Android下线程与进程

    总之,理解和掌握Android中的线程与进程是开发高质量应用的基础,它们直接影响到应用的响应速度、稳定性以及资源利用率。`WorkThreadDemo`这样的实例代码可以帮助开发者更好地理解并实践这些概念。

    线程与进程的主要区别简介

    - **`vfork()`**:与`fork()`类似,但是`vfork()`创建的子进程与父进程共享数据段,这使得在子进程中修改任何共享数据都可能会影响父进程。此外,`vfork()`保证子进程先运行,直到它调用`exec()`或`exit()`后父进程...

    线程与进程 Processes or Threads part1.pdf

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

    (源码)基于CC++的多线程与进程管理操作系统实验.zip

    # 基于CC++的多线程与进程管理操作系统实验 ## 项目简介 本项目是一个基于C和C++语言的操作系统实验集合,主要涉及多线程、进程管理、共享内存、管道通信以及页面替换算法等操作系统核心概念。通过这些实验,展示...

    Java面向对象程序设计-并发(线程与进程).pptx

    Java面向对象程序设计中的并发处理,特别是在农业信息系统开发中,是一个关键的概念,因为高效的数据处理和多...在实际开发中,合理的设计和管理进程与线程,结合适当的同步机制,可以显著提升系统的性能和用户体验。

    线程与进程的理论知识入门1线程与进程的理论知识入门1

    线程与进程的理论知识入门1线程与进程的理论知识入门1线程与进程的理论知识入门1线程与进程的理论知识入门1

    线程与进程的理论知识入门2

    线程与进程的理论知识入门2线程与进程的理论知识入门2

    线程与进程的比较.pptx

    线程与进程的比较.pptx

Global site tag (gtag.js) - Google Analytics