zoukankan      html  css  js  c++  java
  • 并发编程 ~~~ 多进程

    一 进程

    1. 程序: 一堆静态的代码文件

    2. 进程: 一个正在运行的程序 (由操作系统操控调用交于CPU运行)

    3. 串行: 所有的任务一个一个的完成

    4. 并行: 多个CPU执行多个任务,真正的同时进行

    5. 并发: 一个CPU完成多个任务,看起来像是同时进行

    6. 阻塞: CPU遇到I/O就是阻塞

    7. 非阻塞: 没有I/O

    8. 进程的创建:

      一个子进程必须依赖于一个主进程才可以开启

      一个主进程可以开启多个子进程

      Unix: fork创建子进程

      Unix(linux,mac): 创建一个子进程会完完全全复制一个主进程所有的资源,初始资源不变

      Windows: 操作系统调用CreateProcess处理进程的创建.

      Windows: 创建一个子进程会复制主进程所有的资源,但会改变一些资源

    9. 进程的状态: 就绪 运行 阻塞

    二 操作系统

    操作系统: 管理控制协调计算机中硬件与软件的关系.

    操作系统的作用:

    1. 将一些对硬件操作的复杂丑陋的接口变成简单美丽的接口
    2. 多个进程抢占一个(CPU)资源时,操作系统会将你的执行变得合理有序

    多道技术: 解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用。

    1. 空间上的复用: 将内存分区域,一个内存可以同时加载多个进程.
    2. 时间上的复用: 实现将CPU在多个进程之间来回切换,并且保留状态.
  • 相关阅读:
    python 输入和输出
    python 深入模块和包
    python 模块
    python 字典 注意点
    javaNIO核心概念
    redis使用bit做只有两种情况的“状态“统计(如是否在线的用户统计)
    mysqlbinlog二三事儿
    mysql在windows下的服务安装
    javassist标识符
    使用redis调用lua脚本的方式对接口进行限流
  • 原文地址:https://www.cnblogs.com/lav3nder/p/11802220.html
Copyright © 2011-2022 走看看