你能描述一下渐进加强和优雅降级之间的不一样吗
优雅降级:Web站点在全部新式浏览器中都能正常工做,若是用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工做。因为IE独特的盒模型布局问题,针对不一样版本的hack实践了优雅降级,为那些没法支持功能的浏览器增长候选方案,使得在旧式浏览器上以某种形式降级体验却不至于彻底失效.c++
渐进加强:从被全部浏览器支持的基本功能开始,逐步的添加那些只有新式浏览器才支持的功能,向页面增长无害于基础浏览器额外样式和功能的。当浏览器支持时,它们会自动地呈现出来并发挥做用.数组
线程与进程的理解
1.首先要知道的第一个小问题:浏览器
进程是什么?
进程指的是在系统中运行的一个应用程序,程序一旦运行就是进程,是资源分配的最小单位安全
线程是什么?
线程是进程的一个执行单位,是程序执行的最小单位.并发
2.第二个问题:进程与线程的区别在哪里布局
区别一:进程拥有独立的堆栈空间和数据段,因此每当启动一个新的进程必须分配给它独立的地址空间,创建众多的数据表来维护它的代码段,堆栈段和数据段,这对于多进程来讲十分奢侈,系统开销很大,而线程不同,它不拥有资源,没有独立地址空间,可是线程有私有的栈,程序计数器,本地方法区。(这些是放在进程的地址空间上,只有某个特色的线程能够去访问,其余线程访问不到。但如果用c++或c语言,产生数组越界问题,就能够访问到其余线程的栈了,致使其余线程的异常),线程比进程更节俭,开销比较小,切换速度快,可是进程的安全性较高,由于有独立的地址空间,一个进程崩溃后,不会对其余进程产生影响,而线程死掉就等于整个进程死掉线程
区别二:在通讯机制上,由于进程互不干扰,相互独立,因此通信机制复杂,例如管道,消息队列。而线程因为共享数据因此通信机制很方便队列
区别三:同一个进程,全部线程共享该进程的全部资源.进程
区别四:线程一定也只能属于一个进程,而进程能够拥有多个线程并且至少拥有一个线程;资源
3.第三个问题:进程与线程的选择问题
若需频繁建立销毁则优先使用线程.若需频繁切换则优先使用线程.并行操做时使用线程须要更稳定安全时,使用进程