zoukankan      html  css  js  c++  java
  • 进程和线程的区别

    进程和线程的基本概念

    进程, 是指在系统中正在运行的一个应用程序, 程序一旦运行就是进程. 每个进程都有自己独立的一块内存空间, 一个进程可以有多个线程.

    线程, 进程内独立执行的一个单元执行流, 负责当前进程中程序的执行, 一个进程中至少有一个线程, 一个进程可以运行多个线程, 多个线程之间可以共享数据.

    进程和线程的区别

    1. 根本区别

      进程是操作系统资源分配的基本单位, 而线程是CPU任务调度和执行的基本单位.

    2. 资源开销

      每个进程都有独立的代码和数据空间, 程序之间的切换会有比较大的开销. 线程可以看做是轻量级的进程, 同一类线程共享代码和数据空间, 每个线程都有自己独立的运行栈和程序计数器, 线程之间的开销小.

    3. 包含关系

      一个进程有多个线程, 执行过程不是一条线, 而是多条线共同完成. 线程是进程的一部分, 线程也被成为轻量级的进程.

    4. 内存分配

      同一进程的线程共享本进程的地址空间和资源, 而进程之间的地址空间和资源是相互独立的.

    5. 影响关系

      一个进程崩溃后, 在保护模式下不会对其他进程产生影响, 但是一个线程崩溃后整个进程都会死掉, 所以多进程要比多线程健壮.

    6. 执行过程

      每个独立的进程有程序运行的入口、顺序执行序列和程序出口. 但是线程不能独立执行, 必须依赖于应用程序之中, 由应用程序提供的多个线程执行控制, 两者均可并发执行.

    作者:凯旋.Lau
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    SQLite(快速上手版)笔记
    自定义带图片和文字的ImageTextButton
    Android 网络连接判断与处理
    Android轻量缓存框架--ASimpleCache
    Mvc4_ActionLink跟@RenderBody ,@RenderPage
    Mvc4_传值取值应用
    Mvc4_ActionResult应用
    IIS_Mvc发布
    IIS_各种问题
    SqlServer_事务
  • 原文地址:https://www.cnblogs.com/KX-Lau/p/12562360.html
Copyright © 2011-2022 走看看