• 20.并发编程


    并发编程

    1.并发编程

    为什么要并发?

    程序默认执行方式就是串行,即程序自上而下,一行一行顺序执行,必须把当前任务执行完才能执行下一个,这样造成效率低

    并发可以同时执行多个任务 来提高程序的效率

    2.如何实现并发:

    ​ 1.多进程 核心原理是多道技术

    ​ 2.多线程

    ​ 3.协程

    3.进程是什么

    进程指得是正在运行的程序,是操作系统调度以及进行资源分配的基本单位 。

    多进程指的是同一时间有多个程序被装入内存并执行

    4.多道技术

    多进程的核心原理是多道技术

    1.空间复用

    ​ 统一时间,加载多个任务到内存中,多个进程之间内存区域需要相互隔离,这种隔离是物理层面的隔离,其目的是为了保证数安全

    2.时间复用

    ​ 指的是,操作系统会在多个进程之间做切换执行

    ​ 切换任务的两种情况

    ​ 1.当一个进程遇到了IO操作 时会自动切换

    ​ 2.当一个任务执行时间超过阈值会强制切换

    ​ 注意:在切换前必须保存状态,以便后续恢复执行

    简单的总结就是切换加保存

    有了多道技术,计算机就可以同时并发的处理多个任务

    5.并发重要概念

    ​ 串行 程序自上而下顺序执行

    ​ 并发 在不同任务之间快速切换

    ​ 并行 真正的同时执行 必须具备多核CPU

    以上三个概念都是用于描述处理任务的方式

    ​ 阻塞 指的是程序遇到了IO操作,无法继续执行代码时的一种状态

    ​ 非阻塞 指的是程序没有遇到IO操作的一中状态

    ​ 是程序的状态

  • 相关阅读:
    LintCode: Climbing Stairs
    LintCode: Binary Tree Postorder Traversal
    LintCode: Binary Tree Preorder Traversal
    LintCode: Binary Tree Inorder Traversal
    Lintcode: Add Two Numbers
    Lintcode: Add Binary
    LintCode: A + B Problem
    LintCode: Remove Linked List Elements
    LintCode:Fibonacci
    Lintcode开刷
  • 原文地址:https://www.cnblogs.com/yellowcloud/p/11122827.html
Copyright © 2020-2023  润新知