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

    什么是进程?

      正在运行的程序

      是系统进行资源分配和调用的独立单位,每一个进程都有它自己的内存空间和系统资源

    多进程的意义?

      单进程的计算机只能做一件事情,而我们现在的计算机都能做多件事情:一边玩游戏(游戏进程),一边听音乐(音乐进程)

      现在的计算机都是支持多进程的,它们可以在同一时间段内执行多个任务,提高了CPU的使用率。

      问题:一边玩儿游戏,一边听音乐是同时进行的吗?(单核)

        不是,因为CPU在某一个时间点上只能做一件事情,而我们在玩儿游戏,听音乐的时候,是CPU在做着程序间的高效切换让我们感觉是同时进行的。

      这里说一个自己的比喻理解,CPU就像我们的大脑,我们边玩儿游戏,边听音乐,其实也不是同时进行的,在同一时刻,相信大家也能感觉出来,我们的大脑只在处理一件事情,打游戏或者听音乐,只不过大脑在很快的切换打游戏和听音乐这两件事情。

    什么是线程?

      在同一个进程内,我们可以执行多个任务,这每一个任务就可以看成是一个线程在跑。

      线程是进程的执行单元(执行路径)。

      是CPU调度的基本单位。

    单线程:程序只有一条执行路径

    多线程:程序有多条执行路径

    多线程的意义?

      并不是提高程序的执行速度,而是提高应用程序的使用率

      程序的执行其实都是在抢CPU资源(时间片),即CPU的执行权。

      当多个进程在抢CPU资源,而其中一个进程如果执行路径比较多,那么该进程抢到CPU执行权的几率就会比较高。

      我们不能保证哪一个线程在哪个时刻能抢到,即线程的执行具有随机性

  • 相关阅读:
    (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功
    flutter环境搭建
    并发
    java集合继承关系图
    java中反射的使用
    android使用http3
    java之结合代码理解synchronized关键字
    阿里云ECS服务器将默认的Ubuntu系统改成桌面版
    python之demo2----改编自python官方提供的turtle_yinyang.py画阴阳的demo
    python之demo1----改编自turtle.py文件中的demo
  • 原文地址:https://www.cnblogs.com/chen-cai/p/9751095.html
Copyright © 2011-2022 走看看