zoukankan      html  css  js  c++  java
  • 进程/线程介绍

    一、进程

    进程可以认为是程序执行时的一个实例.进程是系统进行资源分配的独立的实体,且每个进程拥有独立

    的地址空间.一个进程无法直接访问另一个进程的变量和数据结构,如果希望让一个进程访问另一个进程

    的资源,需要使用进程间通信,比如:管道,有名管道,信号,信号量,消息队列,套接字等.

    一个进程可以拥有多个线程,每个线程使用其所属进程的栈空间.线程和进程的一个主要区别是,同一程序内

    的多个线程会共享部分状态,多个线程可以读写同一块内存(一个进程无法直接访问另一进程的内存).同时

    每个线程还拥有自己的寄存器和栈,其他线程可以读写这些栈内存.

    线程是进程的一个特定执行路径.一个线程修改了进程中的资源,它的兄弟线程可以立即看到这种变化.

    以下是小结:

    a.进程是系统进行资源分配的基本单位,有独立的内存地址空间,是对某个数据集的执行过程;

    线程是CPU调度的基本单元,没有独立地址空间有独立的栈,局部变量,寄存器,程序计数器等.

    b.创建进程的开销大,包括创建虚拟地址空间等需要大量系统资源;创建线程开销小,基本上只有一个内核对象和

       一个堆栈.

    c.一个进程切换开销大,线程切换开销小;进程间通信开销大,线程间通信开销小.

    d.线程属于进程,不能独立执行.每一个进程至少有一个线程,称为主线程.

    二、调度和作业

    三、进程并发和线程并发

  • 相关阅读:
    LeetCode113. 路径总和 II
    LeetCode257. 二叉树的所有路径
    LeetCode222. 完全二叉树的节点个数
    LeetCode404. 左叶子之和
    LeetCode110. 平衡二叉树
    LeetCode101. 对称二叉树
    LeetCode100. 相同的树
    llustrator CC2017下载AI2020
    vs code 代码格式化整理
    人生格言
  • 原文地址:https://www.cnblogs.com/yasanlun/p/3844639.html
Copyright © 2011-2022 走看看