前段时间有同事问了一个问题:JavaScript是单线程运行代码,那么如下代码片段中,同样是执行func1和func2,为什么只用 Promise.all 相比于直接执行 await func1(); ...
面试官:你知道协程吗 你:订机票的那个吗,我常用。 面试官:行,你先回去吧,到时候电话联系 。。。。。。。。 很尴尬,但是事实是,很大一部分的程序员不知道协程是啥玩意,更大一部分的程序员,项目中没用到协程。 先介绍下协程吧。 计算机有进程,线程和协程。前两者大家都知道,很常见的玩意。而协程,则是基于线程之上的,自主开辟的异步任务,很多人更喜欢叫它们纤程 Fiber ,或者绿色线程 GreenTh ...
2019-04-15 20:15 2 8568 推荐指数:
前段时间有同事问了一个问题:JavaScript是单线程运行代码,那么如下代码片段中,同样是执行func1和func2,为什么只用 Promise.all 相比于直接执行 await func1(); ...
目录: 同步/异步 异步回调 协成 线程队列 同步|异步: 线程的三种状态: 1.就绪 2.运行 3.阻塞阻塞和非阻塞描述的是运行的状态阻塞 :遇到了IO操作,代码卡住,无法执行下一行,CPU会切换到其他任务非阻塞 :与阻塞相反,代码正在执行 ...
协程 协程(Coroutine),又称微线程,纤程,协程是一种用户态的轻量级线程 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入 ...
day36 异步回调与协程 一、异步回调 1、什么是回调: 异步回调指的是:在发起一个异步任务的同时指定一个函数,在异步任务完成时会自动的调用这个函数。 2、为什么需要回调函数 需要获取异步任务的执行结果,但是又不应该让其阻塞(降低效率),即想要高效的获取任务的执行结果。 之前 ...
异步协程 ...
一. 并发、并行、同步、异步、阻塞、非阻塞 1.并发:是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机(CPU)上运行,但任一个时刻点上只有一个程序在处理机上运行。 2.并行:是指任何时间点,有多个程序运行在多个CPU上(最多和CPU数量一致 ...
有关 协程 原理, 见 《协程 和 async await》 https://www.cnblogs.com/KSongKing/p/10799875.html , 协程 切换 的时间很快, 就是 保存 3 个 寄存器 的 值, 再 修改 3 个 寄存器 的 值 ...
本文主要介绍在网络请求中的同步与异步,以及异步的表现形式: 回调与协程,并通过python代码展示各自的优缺点。 概念上下文: 当提到同步与异步,大家不免会想到另一组词语:阻塞与非阻塞。通常,同时提到这个这几个词语一般实在讨论network io的时候,在《unix network ...