• 并发、并行、同步、异步、阻塞、非阻塞概念整理


    1. 并发与并行

    并发是指在一个时间段内, 有多个程序同时在CPU上运行,但是任意时刻只有一个程序在CPU上运行

        一个时间段内能够完成多个程序的切换,所以例如在1s之内, 执行了100个程序,

    并行是指在任意时刻点上,有多个程序同时运行在CPU上;

        例如我们的CPU有四个核心, 那么在一个时刻点上最大程序运载量为4

    所以我们平时所说的高并发,但少有听说过高并行,正是因为我们CPU的核心数有限,下面举一个例子来说明这两者的区别:情况是开水没有,水壶要洗,茶壶茶杯要洗;火生了,茶叶也有了该怎么办?

      并发版:洗好水壶,灌满凉水,并烧水,然后利用烧水的时间完成洗茶壶、洗茶杯、放茶叶等工作,最后泡茶喝;

      并行版: A洗好水壶、灌满凉水,并烧水; B洗茶壶; C洗茶杯,放茶叶;(A、B、C、D均代表某个人)

    2.同步与异步

    同步是指程序代码调用IO操作的时候, 需要等到IO操作完成之后才返回的运行方式;

    异步:是指程序代码调用IO操作的时候,不需要等到IO操作完成之后才返回的运行方式

    3.阻塞与非阻塞

    阻塞:是指调用函数时候当前线程/进程挂起

    非阻塞: 是指调用函数时候当前线程/进程不会被挂起,而是立即返回

  • 相关阅读:
    复制datatable的指定行到另外一个datatable
    .NET Framework 版本
    Excel读取
    asp.net技巧
    添加的控件的追赶事件
    MasterPage和内容页之间数据传递
    常用JS方法
    在服务器端修改HTML控件的属性
    IsPostBack深入探讨
    js(javascript)自定义的DateAdd和DateDiff函数以及当前日期的取法
  • 原文地址:https://www.cnblogs.com/kisun168/p/11210455.html
Copyright © 2020-2023  润新知