编程必修课:你了解异步么?

news/2024/6/17 17:31:29 标签: 多线程

文章目录

异步


异步: 一种通讯方式,对设备要求简单,我们日常的PC机提供的标准通信接口都是异步的

异步有两种含义:

  • 异步双方不需要共同的时钟,即接收方不知道发送方何时发送信息,故在发送信息中需要设置好开始位和结束位
  • 计算机多线程的异步处理,注意是异步处理。与同步对应,异步处理不用阻塞当前线程,而直接跳过当前请求,让线程执行下一个请求

异步、多线程、并行是完全不同的概念


并行

并行一般指并行计算,同一时刻有多条指令同时被执行,这些指令可能执行于同一个CPU的多核上,或者多个CPU上,多个网络上……


异步与多线程

  • 异步: 与同步对应,让CPU暂时阁制当前请求的响应,处理下一个请求,当通过轮询或其他方式得到回调通知后,开始执行

    1. 无需额外的线程负担
    2. 使用回调方式处理,如果设计良好,可以不使用共享变量,减少死锁概率
    3. 复杂度较高,思维不符合常规思维
  • 多线程 将异步处理放入另一个线程中

    1. 处理程序按照顺序执行,符合常规思维
    2. 线程滥用会导致上下文切换的额外负担
    3. 线程间的共享变量可能造成死锁出现

异步和多线程都可以避免线程阻塞,提高软件的响应率


  • 异步:停下来,处理下一个
  • 多线程:分配给另一个线程进行

http://www.niftyadmin.cn/n/1488635.html

相关文章

diagrams 一个完全可以代替visio的软件

软件安装包:diagrams visio是用的比较多的绘图软件,工作、学习中使用率非常高。但是正版的visio需要付费,盗版的有许多功能不用上。同时visio的安装可能会出现和office不兼容的问题(我就遇到过……),推荐这…

HTTP面试题(一):HTTP、HTTPS、URI、URL、HTTP方法

文章目录HTTP面试题HTTP与HTTPs的区别什么是HTTP无状态?怎么解决?URI和URL区别(1)URI(2)URL(3)URN(4)小结常见的HTTP方法有哪些?HTTP面试题 HTTP与…

HTTP面试题(二):HTTP请求报文和响应报文格式

文章目录HTTP请求报文和响应报文格式【1】请求报文【2】响应报文【3】常见的首部字段HTTP请求报文和响应报文格式 【1】请求报文 请求报文包含四个部分: 请求行:包含HTTP版本号、请求方法、URI……请求首部字段请求内容实体空行 【2】响应报文 响应报…

操作系统面试题(一):什么是操作系统?

我通过四点来简单说一下吧: 操作系统(Operating System)简称OS,是管理计算机软件和硬件的一组程序 操作系统本质上是运行在计算机上的软件程序 操作系统为用户提供了一个与系统交互的操作界面 操作系统分为内核与外壳 内核&…

操作系统面试(二):什么是系统调用呢?

进程在系统上的运行分为2个级别 用户态(user mode):用户态运行的进程可以直接读取用户程序的数据系统态(kernel mode):系统态运行的程序可以访问计算机的任何资源,不受限制 平常我们运行的程序…

HTTP面试题(三):HTTPS工作原理

文章目录HTTPS工作原理在这里插入图片描述握手过程HTTPS的特点HTTPS工作原理 浏览器向服务器发送HTTPS服务请求,在传输数据之前,进行一次握手 握手的目的: 确立双方加密传输的密码信息做一次传输测试(利用随机生成的随机数&#x…

HTTP面试题(四):一次完整的HTTP请求所经历的7个步骤

HTTP通信7个步骤 在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间要经历7个步骤 建立TCP连接 Web浏览器首先要通过网络与Web服务器之间通过TCP建立连接,TCP与IP协议共同构建Internet (1)HTTP协议是比TCP处于更高层的应用…

操作系统面试(三):进程和线程的区别

进程:一段正在运行的代码线程:是进程划分成的更小的运行单位 一个进程在执行过程中可以产生多个线程 每个线程都有自己私有的程序计数器、虚拟机栈、本地方法栈 线程与进程最大的区别在于: 进程:进程之间几乎是独立的线程&#x…