zoukankan      html  css  js  c++  java
  • 并发与并行,同步与异步,单线程与多线程

    1. 并发与并行

    1.1 并发(concurrent)

    • 一段时间内有多个程序需要执行,其处于启动与执行完毕之间,都在一台处理机上执行,并发中存在两种关系:同步和互斥(排斥临界资源)
    • 在单CPU系统中,在某一时刻只能让一个线程运行,系统以时间片轮巡的方式进行线程调度,通过不断切换线程让其运行

    1.2 并行(parallel)

    • 多个程序在多个处理器上执行,即同一个时刻有多个进程在多个处理器上执行
    • 在多cpu系统中,同一时刻可以支持两个以上的线程同时运行

    2. 同步与异步

    • 同步(synchronous):顺序执行,需要协调等待程序执行调用时,调用方得等待这个调用返回结果才能继续往后执行,即顺序执行代码片段;进程间相互依赖;
    • 异步(asynchronous):彼此独立,互不干扰和同步相反,调用方不会等待得到结果,而是在调用发出后调用者可用继续执行后续操作,被调用者通过状态来通知调用者,或者通过回调函数来处理这个调用;

    3. 单线程与多线程

    • 线程是cpu资源分配和调度的基本单位
    • 多线程是进程中并发运行的一段代码

    4. 异步与多线程

    • 异步与多线程不是对等关系,多线程是实现异步的方式,异步是多线程的最终目的
    • 相同点: 避免线程阻塞、占用系统资源,提高软件的响应性
    • 不同点: 线程不是一个计算机硬件的功能,而是操作系统提供的一种逻辑功能;异步操作无须额外的线程负担,并且使用回调的方式进行处理
  • 相关阅读:
    第七次作业
    Beta敏捷冲刺每日报告——Day5
    Beta敏捷冲刺每日报告——Day4
    Beta敏捷冲刺每日报告——Day3
    Beta敏捷冲刺每日报告——Day2
    Beta敏捷冲刺每日报告——Day1
    MyGod--Beta版本前期报告
    第六次作业
    游标的使用
    Hadoop科普文——常见的45个问题解答
  • 原文地址:https://www.cnblogs.com/litchi99/p/13504308.html
Copyright © 2011-2022 走看看