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

    目录

      1. 计算机的核心是CPU,CPU承担了所有的计算任务

      2. 一个CPU核心一次只能执行一个任务,多个CPU核心可以同时执行多个任务

      3. 一个CPU一次只能执行一个进程,其他进程处于非运行状态

      4. 进程中包含的执行单元叫线程,一个进程可以包含多个线程。

      5. 一个线程中内存空间是共享的,每个进程里的线程都可以使用这个共享空间,一个线程在使用这个共享空间的时候,其他线程必须等它结束。

      6. 通过“锁”实现,作用就是防止多个线程使用这个内存空间,先使用的线程会将空间上锁,其他线程就在门口等待,打开锁再进去。

      7. 进程:表示程序的一次执行

      8. 线程:CPU运算的基本调度单位

      9. GIL:全局解释器锁,Python里面的通行证,而且只有一个,拿到通行证的线程才可以执行。

      10. Python的多线程试用范围:大量密集的I/O处理

      11. Python的多进程:大量的密集并行计算

      12. 线程的概念

        (1)进程内的一个执行单元

        (2)操作系统中一个可调度的实体

        (3)进程中相对独立的一个控制流序列

        (4)执行时的现场数据和其他调度所需的信息。

      13. 再论main函数

        (1)C/C++程序被执行后从main函数开始运行。

        (2)其运行过程:

        (3)线程是进程使用CPU资源的基本单位。

      14. 深入理解进程和线程

        (1)进程中可以存在多个线程并行执行,共享进程资源

        (2)线程是被调度的执行单元,而进程不是调度单元。

        (3)线程不能脱离进程单独存在,只能依赖于进程运行。

        (4)线程有生命期,有诞生和死亡。

        (5)任意线程都可以创建其它新的线程。

      15. 小结

        (1)程序是物理存储空间中的数据文件

        (2)进程程序运行后得到的执行实体

        (3)线程是进程内部的具体执行单元

        (4)一个进程内部可以有多个线程存在

        (5)进程是操作系统资源分配的基本单位

        (6)线程是操作系统调度执行的基本单位

    • 相关阅读:
      jq的遍历与杂项
      jq的事件
      jquery的效果
      jquery入门
      面向对象。对象的继承
      面向对象克隆对象
      面向对象this指向问题
      实例对象及原型链
      GCD多线程任务总结
      C语言链表的简单实用
    • 原文地址:https://www.cnblogs.com/kolane/p/11538086.html
    Copyright © 2011-2022 走看看