-
web前端用Worker 多线程在后台过滤值 5
HTML5代码如下 不知道哪地方出错了 就是不能正常求值显示
<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body {font:normal 11px auto "Trebuchet MS", Arial, Helvetica, sans-serif; color:#4f6b72; background:#E6EAE9;}
table {width:700px; padding:0; margin:0;}
td {border-right:1px solid #C1DAD7; border-bottom:1px solid #C1CAD7; background:#fff; font-size:11px; padding:6px 6px 6px 12px; color:#4f6b72; text-align:center;}
</style>
<script type="text/javascript">
var intArray=new Array(200);
var intStr="";
for(var i=0;i<200;i++){
intArray[i]=parseInt(Math.random()*200);
if(i!=0)
intStr+=";";
intStr+=intArray[i];
}
var worker=new Worker("script.js");
worker.postMessage(intStr);
worker.onmessage=function(event){
if(event.data!=""){
var m,k,tr,td;
var intArray=event.data.split(";");
var table=document.getElementById("table");
for (var i=0;i<intArray.length;i++){
m=parseInt(i/10,0);
k=i%10;
if(k==0){
tr=document.createElement("tr");
tr.id="tr"+m;
table.appendChild(tr);
}
else{
tr=document.getElementById("tr"+m);
}
td=document.createElement("td");
tr.appendChild(td);
td.innerHTML=intArray[m*10+k];
}
}
};
</script>
<title>产生随机数 能被一个数整除</title>
</head>
<body>
<table id="table">
</table>
</body>
</html>
下面为script.js的代码:
onmessage=function(event){
var data=event.data;
var returnStr;
var intArray=data.split(";");
returnStr="";
for (var i=0;i<intArray.length;i++){
if(parseInt(intArray[i])%3==0){
if(returnStr!="")
returnStr+=";";
returnStr+=intArray[i];
}
}
postMessage(returnStr);
}
求大神帮忙啊 谢谢了2014年6月10日 10:51
目前还没有答案
相关推荐
用于《vue3中使用Web Worker多线程》这篇文章的项目Demo下载 文章地址:https://blog.csdn.net/weixin_42063951/article/details/125300644
用于《vue3中使用Web Worker多线程》这篇文章的项目Demo下载 文章地址:https://blog.csdn.net/weixin_42063951/article/details/125300644
为了解决这个问题,Web Worker API被引入,它允许开发者在后台线程中运行脚本,使得前端应用可以进行更高效的多线程处理。而"前端开源库-web-worker-manager"就是这样一个专门用于管理和优化Web Worker使用的工具。 ...
Web Worker 是一种在 Web 应用中实现后台线程处理的技术,用于解决 JavaScript 在浏览器环境中单线程运行的问题。它为浏览器提供了额外的 JavaScript 运行时环境,使得计算密集型任务可以在不影响用户界面的情况下...
Web Worker是HTML5引入的一个特性,用于在后台线程中执行脚本,以实现多线程处理,避免阻塞主线程。由于Web Worker的特殊性,其加载和运行机制与常规的JavaScript代码不同,因此需要特别处理。 为了在Webpack中添加...
HTML5 Web Worker是Web开发中的一个关键特性,它允许在后台线程中执行脚本,以提高网页的响应速度和处理能力。Web Worker使得复杂的、计算密集型的任务可以在不阻塞用户界面的情况下运行,显著提升了Web应用的性能...
1. **Web Worker**:Web Worker是HTML5引入的一种技术,允许在后台线程中运行脚本,这样可以长时间运行的任务不会影响用户界面的响应性。主线程负责处理UI交互,而Worker线程则用于处理计算密集型任务。 2. **Face-...
Web Worker是HTML5引入的一种特性,它为JavaScript提供了一种在后台线程中运行脚本的能力,从而解决了JavaScript单线程执行模型所带来的问题。在传统的JavaScript执行环境中,所有的任务都在同一个线程上运行,如果...
在多线程计算圆周率的情况下,Web Worker可以在后台线程中处理复杂的计算任务,从而保持用户界面的流畅性。 4. **多线程**:在JavaScript中,Web Worker提供了多线程的能力,可以将任务分解到多个工作线程中并行...
功能:通过使用JavaScript的Web Worker技术,实现了一个在前端运行的后台任务处理程序。用户可以通过发送消息给Web Worker来执行特定的任务,而不会阻塞主线程的执行。同时,该示例还展示了如何与Web Worker进行通信...
Web Workers允许在浏览器后台独立于主线程运行脚本,处理大量计算任务,避免了因为JavaScript执行阻塞而导致的UI无响应问题。这使得Web应用可以实现更复杂的实时交互和数据处理,比如图像处理、音频分析、大数据计算...
尽管Web Workers在多线程编程上带来了便利,但是它的使用也需要考虑到线程管理和通信的复杂性。开发者需要合理地设计消息传递逻辑,确保线程间通信的安全和有效。同时,对于一些不适合并行处理的任务,使用Web ...
Worker 线程可以在后台独立于主线程运行,不会影响用户界面的交互。创建 Worker 线程非常简单,只需要调用 `Worker` 构造函数,传入一个 JavaScript 脚本的 URL。比如: ```javascript var worker = new Worker('...
这个库的目标是解决前端应用在处理计算密集型任务或者需要在后台线程运行的任务时的问题。 一、什么是tiny-worker? tiny-worker是一个轻量级的JavaScript库,它实现了Web Worker的功能,允许在主线程之外创建独立...
使用Web Worker可以在多核CPU上进行多线程编程,从而利用多核处理器来提高应用程序的执行效率,尤其是在执行复杂计算或者长任务时。但是需要注意,Web Worker并非传统意义上的多线程编程,它实际上是消息传递机制的...
Web Workers是为了使Web应用能够进行复杂的后台处理而设计的,它们允许在后台线程中执行脚本,避免了阻塞主线程,提升了用户体验。 Web Workers在实时通讯中的应用,特别是心跳机制,对于确保客户端和服务器之间的...
3. Web Worker的优点:Web Worker可以独立于浏览器UI线程,运行在后台,不会影响浏览器的性能。用户可以进行任何操作,而不受JavaScript代码的影响。 4. Web Worker的适用领域:Web Worker适合异步交互、大规模计算...
NextJS Worker示例这是使Web Worker在NextJS项目中运行的示例。 要使用worker-loader将Web Worker加载到NextJS站点上,并允许在其worker上运行babel等webpack加载器,必须覆盖构建输出路径。 感谢。 // next.config....
在Flash Builder 4.7中,开发者首次获得了官方支持的多线程能力,这主要得益于引入了`Worker`类。这个新特性对于处理耗时计算、后台数据加载以及不阻塞用户界面的任务至关重要,极大地提升了Flex应用的性能和用户...