能描述一下渐进增强和优雅降级的区别吗?检查它们是否正常工作。由于IE特有的盒模型布局问题,我们针对不同版本的hack进行了优雅降级,并针对无法支持功能的浏览器加入了候选解决方案,让旧浏览器上某种形式降级的体验不会完全失效。ProgressiveEnhancement:从所有浏览器支持的基本功能开始,逐步添加只有现代浏览器才支持的功能,在页面中添加对基本浏览器无害的额外样式和功能。当浏览器支持它们时,它们会自动出现并发挥作用。线程和进程的理解1.首先要知道的第一个小问题:什么是进程?进程是指运行在系统中的应用程序。一个程序一旦运行,就是一个进程。资源分配的最小单位是什么,线程?线程是进程的执行单位,是程序执行的最小单位。2、第二个问题:进程和线程有什么区别?区别一:一个进程有独立的栈空间和数据段,所以每当启动一个新的进程时,都必须为其分配一个独立的地址空间,并创建无数的数据表来维护它的代码段、栈段和数据段。这对于多进程来说是非常奢侈的,系统开销非常大。与线程不同,它不拥有资源,没有独立的地址空间,但是线程有私有栈,程序计数器,局部方法区。(这些都是放在进程的地址空间,只有具有某些特性的线程才能访问,其他线程不能访问。但是如果你用C++或者C语言,出现数组越界的问题,你可以访问其他线程的栈。导致其他线程异常),线程比进程更节俭,开销比较小,切换速度快,但是进程的安全性更高,因为有一个独立的进程地址空间,一个进程崩溃后,不会影响其他进程,而一个线程的死亡,相当于整个进程的死亡。区别二:在通信机制上,由于进程之间互不干扰,相互独立,所以通信机制复杂,如管道、消息队列等。由于线程共享数据,通信机制非常方便。区别3:在同一个进程中,所有线程共享进程的所有资源。区别4:线程必须只属于一个进程,一个进程可以有多个线程且至少有一个线程;3.第三个问题:进程和线程的选择。如果需要频繁创建和销毁,优先使用线程。如果需要频繁切换,优先使用线程。在并行运行中使用线程需要更加稳定和安全时,使用进程
