Skip to content

Latest commit

 

History

History
18 lines (17 loc) · 1.56 KB

File metadata and controls

18 lines (17 loc) · 1.56 KB

Generator

what is coroutine

“协程 是为非抢占式多任务产生子程序的计算机程序组件,协程允许不同入口点在不同位置暂停或开始执行程序”。 从技术的角度来说,“协程就是你可以暂停执行的函数” 如果你把它理解成“就像生成器一样”,那么你就想对了。 reference. 协程是计算机程序的一类组件,推广了协作式多任务的子程序,允许执行被挂起与被恢复。 相对子例程而言,协程更为一般和灵活,但在实践中使用没有子例程那样广泛。协程源自Simula和Modula-2语言,但也有其他语言支持。 协程更适合于用来实现彼此熟悉的程序组件,如协作式多任务、异常处理、事件循环、迭代器、无限列表和管道。 reference

what is event-loop

事件循环 “是一种等待程序分配事件或消息的编程架构”。基本上来说事件循环就是,“当A发生时,执行B”。 或许最简单的例子来解释这一概念就是用每个浏览器中都存在的JavaScript事件循环。 当你点击了某个东西(“当A发生时”),这一点击动作会发送给JavaScript的事件循环, 并检查是否存在注册过的 onclick 回调来处理这一点击(“执行B”)。 只要有注册过的回调函数就会伴随点击动作的细节信息被执行。 事件循环被认为是一种循环是因为它不停地收集事件并通过循环来发如何应对这些事件。