随笔分类 -  异步编程

摘要:异步编程的本质:面向执行上下文管理的编程。 谁生成; 谁管理; 谁使用; 阅读全文
posted @ 2019-11-13 19:16 zzfx 阅读(229) 评论(0) 推荐(0) 编辑
摘要:并发与异步模型的不同:通信模型与复用模型 并发:资源复用(cpu+其它)模型; 异步:通信模型(通信上下文)。 复用模型的模型是集合模型。 并发管理只是复用规则的具体体现而已。 阅读全文
posted @ 2019-10-23 18:59 zzfx 阅读(215) 评论(0) 推荐(0) 编辑
摘要:一、异步事件的处理机制 1、事件队列机制 2、中断机制 二、异常、异步与执行流 1、异常: 异常是切换到新的执行流以后,原来的执行流不再保存。 2、异步: 异步是切换到新的执行流,执行完毕后再切换到原来的执行流。 三、两个核心: 1、上下文: 保存了执行流的上下文(先后顺序);上下文是执行流信息的结 阅读全文
posted @ 2019-10-23 14:46 zzfx 阅读(505) 评论(0) 推荐(0) 编辑
摘要:上下文的保存机制: 1、保存到异步类型中:promise & future & closure & observable; 2、栈帧保存:其它保存机制; 3、保存到服务提供方的运行结构中:callback 基本:callback、then; 异步类型+高阶函数+回掉机制 高级:await/async 阅读全文
posted @ 2019-10-23 11:19 zzfx 阅读(224) 评论(0) 推荐(0) 编辑
摘要:异步编程类型的结构和操作。 上下文维护。 A promise represents the eventual result of an asynchronous operation. The primary way of interacting with a promise is through i 阅读全文
posted @ 2019-10-22 16:44 zzfx 阅读(263) 评论(0) 推荐(0) 编辑
摘要:异步类型promise async 和 await 在干什么 任意一个名称都是有意义的,先从字面意思来理解。async 是“异步”的简写,而 await 可以认为是 async wait 的简写。所以应该很好理解 async 用于申明一个 function 是异步的,而 await 用于等待一个异步 阅读全文
posted @ 2019-10-22 15:29 zzfx 阅读(3029) 评论(0) 推荐(0) 编辑
摘要:结构化编程:callback 面向对象:interface-delegate; 函数式编程:promise、block、rx--函子化block,函子化事件源 异步语言支持:asyn-await、Generator。 阅读全文
posted @ 2019-08-19 16:01 zzfx 阅读(194) 评论(0) 推荐(0) 编辑
摘要:An async function can contain an await expression that pauses the execution of the async function and waits for the passed Promise's resolution, and t 阅读全文
posted @ 2019-07-18 14:27 zzfx 阅读(930) 评论(0) 推荐(0) 编辑
摘要:futureHandler = current(handler, context(t0)) : T0 -> handler(context(t0),taskResult) : Tx T0:request(params, handler, context(0)); Tn:hander(response 阅读全文
posted @ 2019-07-18 11:34 zzfx 阅读(150) 评论(0) 推荐(0) 编辑
摘要:异步编程实现技术:回调、promise、协程序? 阅读全文
posted @ 2019-07-17 23:30 zzfx 阅读(134) 评论(0) 推荐(0) 编辑
摘要:JS异步编程 (2) - Promise、Generator、async/await https://www.cnblogs.com/learninpro/p/9271813.html http://www.ruanyifeng.com/blog/2015/05/async.html 阅读全文
posted @ 2019-07-17 23:29 zzfx 阅读(173) 评论(0) 推荐(0) 编辑
摘要:异步的本质是不确定性。 事件发生在时间上的不确定性; 或者说在请求响应的模型中引入了时间的概念。 阅读全文
posted @ 2019-07-13 15:45 zzfx 阅读(442) 评论(0) 推荐(0) 编辑
摘要:response = request() request(callback(response)); request(delegate(response)); response = await request(); monad[request()].then(response); obseverabl 阅读全文
posted @ 2019-07-12 18:35 zzfx 阅读(210) 评论(0) 推荐(0) 编辑
摘要:promise是有状态的moand 阅读全文
posted @ 2019-07-01 11:53 zzfx 阅读(143) 评论(0) 推荐(0) 编辑
摘要:一、promise的组成 1、task:promise要完成的任务; 2、result:处理完的数据; 3、status:状态; 4、fulfill、reject(对应catch) 5、ResolveCallback ErrorCallback promise状态的解释函数 6、resolve: 对 阅读全文
posted @ 2019-07-01 11:51 zzfx 阅读(431) 评论(0) 推荐(0) 编辑
摘要:使用async/await消除callback hell 通过Future回调中再返回Future的方式虽然能避免层层嵌套,但是还是有一层回调,有没有一种方式能够让我们可以像写同步代码那样来执行异步任务而不使用回调的方式?答案是肯定的,这就要使用async/await了,下面我们先直接看代码,然后再 阅读全文
posted @ 2019-06-18 15:22 zzfx 阅读(423) 评论(0) 推荐(0) 编辑
摘要:异步编程 Ebay技术架构倡导到处异步,异步能够提高系统的可伸缩性,有一种误解:认为异步就会慢于同步,其实异步后才能并行并发,利用多CPU的并行并发处理要比同步串联处理无疑性能要提升多。 异步的目的是从设计上解耦,从执行顺序上进行切分,将串行变成并行。 传统的同步编程是一种请求响应模型,调用一个方法 阅读全文
posted @ 2019-03-06 16:27 zzfx 阅读(1042) 评论(0) 推荐(0) 编辑
摘要:Rx编程的第一步是将native对象转换为monad对象 将基础类型转换为高阶类型,以便使用函数式编程的特性。 阅读全文
posted @ 2019-03-06 16:17 zzfx 阅读(169) 评论(0) 推荐(0) 编辑
摘要:1、根据await调用链寻找最终的生产者或服务提供者; 2、请求服务; 3、进行执行环境切换,跳出顶层函数(第一个无await修饰的函数),执行后面的语句; 4、服务完成,将服务数据复制给最底层的await函数的返回值; 5、进行上下文切换,执行await后面的语句; 6、从1开始新的循环。 调用a 阅读全文
posted @ 2019-03-05 21:45 zzfx 阅读(309) 评论(0) 推荐(0) 编辑
摘要:协程就是一种用户态内的上下文切换技术 我对协程的定义是:协程是在一个线程执行过程中可以在一个子程序的预定或者随机位置中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。他本身是一种特殊的子程序或者称作函数。 区别:楼上很好很精辟。 应用:协程基于generator,Python3中内置了异步 阅读全文
posted @ 2019-03-05 19:48 zzfx 阅读(486) 评论(0) 推荐(0) 编辑