AMD 与 CMD

  执行时机 依赖方式 加载方式  
AMD 提前执行 依赖前置 提前异步加载  
CMD 延迟执行 依赖就近 提前异步加载  
传统加载js方式

按照页面的显示顺序

先请求加载并执行

按照页面顺序依赖 按照顺序加载  

AMD : Asynchronous Module Definition   是requireJs在推广过程中对模块的定义

CMD: Common Module Definition  是seaJs 在推广过程中对模块的定义

这两者规范的目的是为了  js 的模块化开发,特别是在浏览器端的   

引深: javascript的异步请求,是浏览器开启新线程下载脚本文件【defer】

defer  async   使得js的下载与页面中其他元素的渲染是并行执行的 

异步任务的实现方式:

1   使用多线程的方式  非同步执行

2   使用单线程的事件循环机制【回调函数,定时器执行】

同步  异步   并行  串行  并发

并发: 当有多个线程在操作时, 如果系统只有一个cpu,不可能同时进行一个以上的线程,只能将cpu运行时间划分若干个时间段,再将时间段分配给各个线程执行, 在一个时间段的线程代码运行时,其他线程处于挂起状态

并行: 指两个或两个以上事件或活动在同一时刻发生,并行性使多个程序同一时刻可在不同cpu上同时执行

当系统有一个以上cpu时, 一个cpu执行一个线程时, 另一个cpu可以执行另一个线程,两个线程互不抢占cpu资源,可以同时进行

并发与并行的区别: 

a  并行是指两个或者多个事件在同一时刻发生,并发是两个或多个事件在同一时间间隔内发生

并行和串行指的是任务的执行方式,串行指多个任务时,各个任务按顺序执行,完成一个后才能进行下一个

并行是多个任务可以同时执行

同步  异步 : 能否开启新的线程,同步不能开启新的线程,异步可以

异步是多个任务并行的前提条件

猜你喜欢

转载自blog.csdn.net/wangyoucaoxiaoxiao/article/details/86215998