Javascript多线程】的更多相关文章

什么是Web Worker? web worker 是运行在后台的 JavaScript,不占用浏览器自身线程,独立于其他脚本,可以提高应用的总体性能,并且提升用户体验. 一般来说Javascript和UI页面会共用一个线程,在HTML页面中执行js脚本时,页面的状态是不可响应的,直到脚本已完成.而这段代码可以交给Web Worker在后台运行,那么页面在Javascript运行期间依然可以响应用户操作.后台会启动一个worker线程来执行这段代码,用户可以创建多个worker线程. 有两种 W…
Web Worker javascript多线程编程(一)中提到有两种Web Worker:专用线程dedicated web worker,以及共享线程shared web worker.不过主要讲了专用线程dedicated web worker,并未提及共享线程shared web worker.那么这一篇文章继上一篇讲讲共享线程shared web worker. shared web worker:运行的是更为普遍性的代码,可以为多个页面服务.它可以被与之相关联的多个页面访问,只有当所…
 Javascript多线程引擎(十)---Web服务器 经过一天的努力, 引擎可以支持web服务的功能了并且支持UTF-8的编码, 具有对HTTP参数的解析,状态码的配置, 响应报文的输出等. 提供了 startServer(function(request, response){ },port) 函数来打开Web服务. 而requset的方法为: getParameter(): String 可以让您指定请求参数名称,以取得对应的设定值. getServerName():String 请求的…
Javascript多线程引擎(九)--垃圾回收 垃圾回收这个话题对Programer来说是非常老旧的话题, 从手动的malloc/free 到半自动的 引用计数 再到全自动的 mark-sweep 算法 最后进化到 分代回收, 可以发现程序员越来越懒了^_^.  从繁琐的内存管理解放出来 对业务逻辑开发为主的程序员来说是非常有必要的事情,  So Java 等高级语言变成了现今的主流语言(当然也和它的跨平台和异常强大的类库相关). 作为Javascript引擎, 当然也不能少了垃圾回收的功能,…
Javascript多线程引擎(八)    Javascript 多线程项目, 做到现在已经快3个月了(加上前期准备编译原理和必要的文档), 该项目(js-engine)已经快进入尾声了, 现在该引擎的特性包括如下: 1. 全C语言代码(适合嵌入式) 2. 没有正则表达式(不能算是好的特性 , 以后有机会可以添加) 3. 没有Unicon支持(也不是好特性, 只是支持Ascii) 4. 没有lable with 语句了(相信大家在Javascript编程中用这两个特性把) 5. 解析器报错(可以…
Javascript多线程引擎(七)--synchronized关键字 经过两天的努力, 今天synchronzied关键字终于支持了, 如下是测试代码 thread() 是一个开启新线程的API, 后期会提供一个完整的Thtread 类, 现在就简单的使用把  ^_^ 支持的语法格式为: var a = synchronized function(){ //被同步的代码段 }; synchronzied function hello(){ //被同步的代码段 }; var lock  = {}…
Javascript多线程引擎(六) 经过三个月的时间, Javascript 引擎已经完成beta版本(还不支持多线程特性, 预计下个星期就可以支持了, 现阶段还在进行测试基本JS单元功能), 并且经过简单的测试. 使用如下: 从github中获得代码: github.com/darkgem/js-engine 下载代码, 进入build文件夹, 使用 cmake .. make 在build/shell下包含一个简单的shell程序, 使用file.js作为解析文件 运行结果如下: Pass…
Javascript多线程引擎(五)之异常处理 C语言没有提供一个像Java一样的异常处理机制, 这就带来了一个问题, 对于一个子函数中发生异常后, 需要在父函数调用子函数的位置进行Check, 如果发生异常则直接reuren.   这种机制, 会带来一个问题 ------- 过多的return 和  判断语句, 使得程序的维护成本提高. 而这个项目准备使用setjmp,longjmp的异常处理机制来实现throw异常后,能直接转到catch位置. /*一个函数中mark都要不同*/ #defi…
Javascript多线程引擎(四)--之C语言单继承 因为使用C语言做为开发语言, 而C语言在类的支持方面几乎为零, 而Javascript语言的Object类型是一个非常明显的类支持对象,所以这里需要提出一个方案对Object类型的继承进行支持. 本章节介绍一个简单的基于C语言单继承结构的实现,  实现非常的简单, 但是体现了Java 的OO思想. ////Object.h #ifndef _Object_ #define _Object_ /******************* cls:…
Javascript多线程引擎(三) 完成对ECMAScript-262 3rd规范的阅读后, 列出了如下的限制条件 1. 去除正则表达式( 语法识别先不编写) 2. 去除对Function Declaration的支持, 且把Function Expression 替代 FD 在运行到具体的代码的时候才进行变量声明如: var a; var a = 1; function a(){}; 当读取到如上的语句的时候, 直接根据上下文的环境进行PutValue操作 3. 去除lable, with…