美文网首页
为什么js引擎是单例

为什么js引擎是单例

作者: 刘程源 | 来源:发表于2019-01-19 17:53 被阅读0次

函数就是黑盒

一段函数,本身就是一个黑盒工厂,输入即原料,输出即产品

工厂分两种,加工型和生产型

生产型
原料拥有不可变性,可变的只有产品
比如水电燃这些通用原料,私自修改整体走向,会引起后续工厂的彻底混料
即只可以用,不可以改

此处指配置信息,回掉函数等

加工型
原料 == 产品
原料不可变的返例

在本例中,js引擎为工厂,原料为html具有两种模式
加工型 ->html操作
生产性 ->无html操作

多核需要指示灯

多个黑盒操作同一原料,这个模型类似与火车与轨道

轨道是原料,火车是工厂
每条轨道的运行只有一个方向,对轨道而言同一时间只能过一条火车
单个火车毫无问题,如何设计多个火车路段?
如果只是保证轨道运行不重复,那么轨道长度/火车长度 是否为最大运行火车运行数量?
当然不是火车运行具有安全距离,即当此时该轨道通过时,意味着前方Nm内都无火车运行,这里的设计就是指示灯,当火车通过是,指示灯红色,表示以下路段有车,请等待,当该路段火车通过后,指示灯绿色,表示该路段无车,可通过

总之,信号指示灯,肯定是成双成对出现的
而这个指示灯,就是程序中的锁

js引擎与渲染引擎的关系

一前一后两辆火车,没有指示灯
js对原料加工完毕后,渲染在对原料进行再次加工

如何实现多核

追加指示灯设计即可,使原料html可以分段执行,这意味着需要语法上的描述,即在语法上描述出,当前函数只操作如下html,且绝对操作范围外的html,意味着无法全局追加html

虽然恶心,但不能说不能

多厂设计的必要性

假设fps=60,每次渲染操作需要16ms内完成,针对16ms以内无意义,针对16ms以上,操蛋的语法难度可能会使以前的轨道全部重铺

题外话1. js引擎比较贵

在事件工厂中,收到指示后,是否可以执行建立一个js引擎部门对js进行处理?
当然不能,这个部门比你全公司都大,即js引擎很贵,全局有且只有一个

题外话2. js引擎处理使用率不高

js引擎的目的使修正html,展示丰富的页面,最终停留在让人看上,针对一个页面,如果不是做动画效果,js引擎工厂的出勤率不高

花大价钱整一个出勤率不高的厂,性价比太低,难道要动态新增销毁不成

js多作坊设计

js引擎将内部作坊分两种,加工型和生产型
生产型不依赖html,可单独执行
即追加内部生产型作坊,其余依然由总部处理
此时js工厂如下执行

针对html加工,针对无html处理,丢给生产作坊处理,html处理完成后,丢个渲染工厂
生产性作坊处理完后,重新丢个js厂

即对是否进行html操作做细分,以达到多厂的目的

将厂理解为线程等性质一样

总之

有内部解决方案,整体没有必要

相关文章

  • 为什么js引擎是单例

    函数就是黑盒 一段函数,本身就是一个黑盒工厂,输入即原料,输出即产品 工厂分两种,加工型和生产型 生产型原料拥有不...

  • 前端开发工程师必备系列-几个简单的JS单例模式

    前端开发工程师必备系列-几个简单的JS单例模式 JavaScript单例模式 1. 单例模式 单例模式(Singl...

  • Cocos中Js和cpp通信

    得到引擎的实力单例对象后调用addRegisterCallback去注册方法 引擎启动之后调用

  • 设计模式——单例模式

    文章概要 1、什么是单例2、为什么需要单例3、单例的优点和缺点4、单例的写法和比较5、序列化破坏单例6、反射破坏单...

  • 单例模式

    1. 什么是单例模式? 创建单例类的方法叫单例模式. 单例类, 就是只能产生一个对象的类. 2. 为什么使用单例模...

  • 正则表达式 入门

    原理 正则引擎 为什么正则能有效,因为有引擎,这和为什么JS能执行一样,有JS引擎 正则的引擎大致可分为两类:DF...

  • 单例设计模式

    单例介绍 1、什么是单例?单例的意思是一个类永远只能存在一个对象,不能创建多个对象 2、为什么要用单例?开发中有很...

  • @Configuration这注解为什么可以不加?加了和不加的区

    @Bean的方法是如何保证单例的?如果不需要单例需要怎么配置?为什么需要这么配置 1.如何保证单例 为什么有了@C...

  • 单例模式

    本文章采用循序渐进的方式对单例模式进行演化实现。 什么是单例模式,为什么要使用单例模式? 单例模式就是只允许创建一...

  • JS_单例模式

    JS_单例模式 什么是单例模式? 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式的优点 可以用来...

网友评论

      本文标题:为什么js引擎是单例

      本文链接:https://www.haomeiwen.com/subject/osdzdqtx.html