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

    1. 基本概念

    线程的引入是为了增加并发度,线程成为了程序执行流的最小单位,也是基本的CPU执行单元

    进程是除CPU之外的系统资源的分配单元,一个进程里可以并发多个线程

    2. 它们的区别

    进程具有独立的地址空间,而线程没有;

    进程切换运行环境时,系统开销大,而一个进程内的线程间切换系统开销小;

    线程间可以共享内存地址空间,所以线程间的通信不需要操作系统干预

    3. 两种线程

    用户级线程:应用程序看得见的线程,用户级线程的好处是非常高效,不需要由用户态切换到内核态,但并发效率不高。

    内核级线程:只有操作系统能看得见,由于内核级线程才是真正处理机分配的单位,所以多个内核级线程有利于提高并发度。

    4. 多线程模型

    多对一:多个用户级线程对应一个内核级线程,不用切换到内核态,但是一旦内核态线程阻塞,整体阻塞

    一对多:并发度高了,但是进程管理开销大

    多对多:集二者所长

    5. 进程状态

  • 相关阅读:
    flask之闪现
    对于Flask中蓝图的理解
    flask中的CBV和FBV
    Flask之基本使用与配置
    Flask
    Flask-信号(blinker)
    flask-migrate
    Flask WTForms的使用和源码分析 —— (7)
    mac下卸载jdk
    RabbitMQ五种消息队列学习(三)–Work模式
  • 原文地址:https://www.cnblogs.com/Kinghao0319/p/14447259.html
Copyright © 2011-2022 走看看