异步处理
异步指一个执行中的任务,拆开成多个子任务各自执行。异步与同步处理相对,同步指多个执行中的子任务,等待所有子任务执行完再继续执行。异步的作用是使有I/O操作的任务最大化利用处理器的计算,以达到缩短任务的完成时间。 异步可以用多进程、多线程或其它技术实现,常见实现技术有: 语言 异步技术 多异步依赖顺序表达 返回值函数表达 返回值直接表达 处理非阻塞 javascript setTimeout/setInterval 异步请求 Promise generator async/await web worker 否 否 是 是 是 否 是 是 是 否 否 否 否 否 否 是 是 否 否 否 否 否 否 是 java Thread Executor 是 是 否 是 否 否 是 是 C# Thread Task async/await 是 是 是 否 是 否 否 否 是 是 是 是 多异步依赖顺序表达 ,指后一个异步处理需要前一个异步处理的返回值作为参数,这种多异步依赖有两种表达,一种是嵌套表达,一种是顺序表达。 嵌套表达: myAsyncMethod1 ( ) . then ( function ( result1 ) { myAsyncMethod2 ( result1 ) . then ( function ( result2 ) { console . log ( result2 )