摘要:这些是放在进程的地址空间上,只有某个特点的线程可以去访问,其他线程访问不到。
你能描述一下渐进增强和优雅降级之间的不同吗
优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE独特的盒模型布局问题,针对不同版本的hack实践了优雅降级,为那些无法支持功能的浏览器增加候选方案,使得在旧式浏览器上以某种形式降级体验却不至于完全失效.
渐进增强:从被所有浏览器支持的基本功能开始,逐步的添加那些只有新式浏览器才支持的功能,向页面增加无害于基础浏览器额外样式和功能的。当浏览器支持时,它们会自动地呈现出来并发挥作用.
线程与进程的理解
1.首先要知道的第一个小问题:
进程是什么?
进程指的是在系统中运行的一个应用程序,程序一旦运行就是进程,是资源分配的最小单位
线程是什么?
线程是进程的一个执行单位,是程序执行的最小单位.
2.第二个问题:进程与线程的区别在哪里
区别一:进程拥有独立的堆栈空间和数据段,所以每当启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段,堆栈段和数据段,这对于多进程来说十分奢侈,系统开销很大,而线程不一样,它不拥有资源,没有独立地址空间,但是线程有私有的栈,程序计数器,本地方法区。(这些是放在进程的地址空间上,只有某个特点的线程可以去访问,其他线程访问不到。但若是用c++或c语言,产生数组越界问题,就可以访问到其他线程的栈了,导致其他线程的异常),线程比进程更节俭,开销比较小,切换速度快,但是进程的安全性较高,因为有独立的地址空间,一个进程崩溃后,不会对其他进程产生影响,而线程死掉就等于整个进程死掉
区别二:在通信机制上,因为进程互不干扰,相互独立,所以通讯机制复杂,例如管道,消息队列。而线程由于共享数据所以通讯机制很方便
区别三:同一个进程,所有线程共享该进程的所有资源.
区别四:线程必定也只能属于一个进程,而进程可以拥有多个线程而且至少拥有一个线程;
3.第三个问题:进程与线程的选择问题
若需频繁创建销毁则优先使用线程.
若需频繁切换则优先使用线程.
并行操作时使用线程
需要更稳定安全时,使用进程
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/53622.html
摘要:如果看完本文后,还对进程线程傻傻分不清,不清楚浏览器多进程浏览器内核多线程单线程运行机制的区别。因此准备梳理这块知识点,结合已有的认知,基于网上的大量参考资料,从浏览器多进程到单线程,将引擎的运行机制系统的梳理一遍。 前言 见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会及时修正。 ----------超长文+多图预警,需要花费不少时间。---------- 如果看完本文后,还...
摘要:浏览器渲染进程浏览器内核进程,内部是多线程的默认每个页面一个进程,互不影响。事件触发线程归属于浏览器而不是引擎,用来控制事件循环可以理解成引擎自己都忙不过来,需要浏览器另开线程协助。 线程和进程 进程和线程的概念可以这样理解: 进程是一个工厂,工厂有它的独立资源--工厂之间相互独立--线程是工厂中的工人,多个工人协作完成任务--工厂内有一个或多个工人--工人之间共享空间 工厂有多个工人...
阅读 3712·2023-04-25 17:45
阅读 3426·2021-09-04 16:40
阅读 999·2019-08-30 13:54
阅读 2125·2019-08-29 12:59
阅读 1395·2019-08-26 12:11
阅读 3272·2019-08-23 15:17
阅读 1516·2019-08-23 12:07
阅读 3878·2019-08-22 18:00