用户名:  密码:   
您当前的位置:首页 > 网页设计 >  Html+CSS > 

9

上次修改时间: 2017-07-02 14:18:13      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\Html与CSS\html5+CSS3\      下一页

9.2.1 检查浏览器支持性
调用 **函数前要检查浏览器支持性,如果不支持提醒用户
if(typeof(Worker) === "undefined") 检测Worker值,就返回undefined
{提示}
else{}
页面初始化时调用判断的函数

9.2.2 创建Web Workers通信
初始化时可接收一个js文件的url,会设置事件监听器
worder = new Worker("echoWorker.js"); 创建web Worker
myWorker.onmessage = function(event){ 判断事件处理程序
  alert();
 }
 importScripts();
 importScripts('foo.js');
 importScripts('foo.js','bar.js');

9.2.3 与Web Workers上机练习
使用后面后台线程不能访问,但可数据交互,
页面与webworker通信
document.getElementById("hello').onclick = function(){
 worker.postMessage("hi,how");
}
worker.addEventListener("message",messageHandler, true);
function messageHandler(e){
}
webwoker不能中止,但可调用中止,中止后不能重新启用,但可重新创建新的

9.2.4 使用Web Workers上机练习
postMessage
addEventListener("error",errorHandler,true);
postMessage("ok"); 发送一个数据

9.3.1 使用多线程实现后台运算
在文本框输入数据值,在后台计算1到给定数字的和,当数值特别器的要用多线程
var worker = new worker("Sum....js")
不需要用等待一个完成后再执行另一个

9.3.2 在后台过滤值
传入后台,让线程处理,随机产生200个数组,通过并发实现,能够被3整除的值,

9.3.3 多任务并发处理
onmessage=functin(event)
var int Array= new Array(200);
for(var i=0;i<200;i++)
 int array[i] = parseInt(Math.random()*200);
 postMessage(returnStr) 传给主线程
 close()关闭子线程
比上讲执行速度更快

9.3.4 在多线程之间通信
先创建发送数据的子线程,执行子线程上的程序,把数据发给主线程,再传给接收的子线程
创建主线程,
结果和前面示例相同的,执行效率更高

9.3.5 使用线程技术计算Fibonacci数列
以递归的方式定义,
var fibonacci = function(n){
 return n <2?n : arguments.callee(n -1) +arguments.callee(n -2);
};
console.log('开始计算:40','时间'+timer);
var fibonacci = function(n) {
 return n<2? n : arguments.callee(n -1) + arguments.callee(n -2);
}
以开发人员工具,Console能看到

9.3.6 使用多线程绘图
很复杂的绘图代码
可以指定线程数,线程数越多,执行越快
主页面
循环创建多个线程

9.4.2 编写应用主页面
。。。。。

9.4.3 编写Worker js
与页面通信的代码放在worker.js中
importScripts('annealing.js')

9.4.4 与Web Worker通信
在主页中用通过发送一些数据给worker
canvas.js中显示和输出图像