zoukankan      html  css  js  c++  java
  • 7.2.1

    一 什么是进程

    进程:正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。

    二 进程与程序的区别

    程序仅仅只是一堆代码而已,而进程指的是程序的运行过程。

    举例:

    我在家做韭菜炒鸡蛋,我有做韭菜炒鸡蛋食谱,厨房里有所需的原料:鸡蛋、韭菜,蒜泥,大葱,生姜等。

    1. 韭菜炒鸡蛋食谱就是程序。

    2. 而做韭菜炒鸡蛋的各种原材料就是数据输入。

    3. 进程就是厨师阅读食谱、取来各种原料以及炒韭菜炒鸡蛋等一系列动作的总和

    需要强调的是:同一个程序执行两次,那也是两个进程,比如你打开两个QQ,两个QQ是独立的。

    三 并发与并行

    无论是并行还是并发,在用户看来都是'同时'运行的,不管是进程还是线程,都只是一个任务而已,真是干活的是cpu,cpu来做这些任务,而一个cpu同一时刻只能执行一个任务

    一 并发:是伪并行,即看起来是同时运行。单个cpu+多道技术就可以实现并发

    二 并行:同时运行,只有具备多个cpu才能实现并行

    四 进程的状态

    tail -f access.log |grep '404'

    执行程序tail,开启一个子进程,执行程序grep,开启另外一个子进程,两个进程之间基于管道'|'通讯,将tail的结果作为grep的输入。

    进程grep在等待输入(即I/O)时的状态称为阻塞,此时grep命令都无法运行

    其实在两种情况下会导致一个进程在逻辑上不能运行,

    1. 进程挂起是自身原因,遇到I/O阻塞,便要让出CPU让其他进程去执行,这样保证CPU一直在工作

    2. 与进程无关,是操作系统层面,可能会因为一个进程占用时间过多,或者优先级等原因,而调用其他的进程去使用CPU。

    因而一个进程由三种状态

  • 相关阅读:
    子串周期查询问题的相关算法及其应用(原文为2019年国家集训队论文集)
    微软最有价值专家 Azure DevOps MVP(第六年)
    当一个程序员一天被打扰 10 次, 后果很惊人
    什么是CAP定理?
    Java中的锁原理、锁优化、CAS、AQS详解
    如何停止一个正在运行的线程?
    lammps总结(7.27-7.30)
    packmol建模
    Linux 命令 (1)
    ElementUI中的el-select中多选回显数据后没法重新选择和更改
  • 原文地址:https://www.cnblogs.com/caimengzhi/p/8511385.html
Copyright © 2011-2022 走看看