多线程这个概念,不知道听了多少遍。但是真滴没有去实操过。

前几天看视频听到作者说道关注技术本身,而不是总写业务代码。这几天依然思考着这个问题。于是从头开始重现了html文件的堵塞问题,重现了html文件的异步,然后想到了多线程。

重现html文件,代码堵塞代码

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>研究堵塞问题</title>
</head>
<body>
<script type="text/javascript">
/*setInterval(function(){
console.log(122);
},500);*/
for (var i = ; i <; i++) {
console.log(i);
} </script>
<div>
这是文字
</div>
</body>
</html>

异步代码

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>研究堵塞问题</title>
</head>
<body>
<script type="text/javascript">
setInterval(function(){
console.log();
},);
/*for (var i = 0; i <100000; i++) {
console.log(i);
} </script>
<div>
这是文字
</div>
</body>
</html>

多线程代码html文件

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<input type="text" name="ipt" id="ipt" value="" />
<button id="start">start</button>
<button id="stop">stop</button>
<button id="ale">alert</button>
<script type="text/javascript">
var ipt = document.getElementById("ipt");
var stop = document.getElementById("stop");
var start = document.getElementById("start");
var ale = document.getElementById("ale");
var worker; stop.addEventListener("click",function(){
//用于关闭worker线程
if(typeof(worker)=="undefined"){
return;
}
worker.terminate();
});
start.addEventListener("click",function(){
//开起worker线程
//
worker = new Worker("test22.js");
worker.onmessage = function(event){
ipt.value = event.data;
};
console.warn('');
});
ale.addEventListener("click",function(){
alert("i'm a dialog");
});
</script>
</body>
</html>

test22.js代码

 var i = ;
function mainFunc(){
i++;
//把i发送到浏览器的js引擎线程里
postMessage(i);
}
var id = setInterval(mainFunc,);

测试显示,Worker确实可以实现并行运行。至于多线程的意义有文章建议用多线程来解决文件上传问题。

本文结束。

多线程Worker初尝试的更多相关文章

  1. R语言爬虫初尝试-基于RVEST包学习

    注意:这文章是2月份写的,拉勾网早改版了,代码已经失效了,大家意思意思就好,主要看代码的使用方法吧.. 最近一直在用且有维护的另一个爬虫是KINDLE 特价书爬虫,blog地址见此: http://w ...

  2. SQLSERVER2012里的扩展事件初尝试(下)

    SQLSERVER2012里的扩展事件初尝试(下) SQLSERVER2012里的扩展事件初尝试(上) 我们继续文章扩展事件在Denali CTP3里的新UI(二)里的这个实验 脚本文件下载:http ...

  3. SQLSERVER2012里的扩展事件初尝试(上)

    SQLSERVER2012里的扩展事件初尝试(上) SQLSERVER2012里的扩展事件初尝试(下) 周未看了这两篇文章: 扩展事件在Denali CTP3里的新UI(一) 扩展事件在Denali ...

  4. 二、微信小游戏开发 多线程Worker

    微信多线程Worker教程 微信多线程Worker API 一.创建Worker,并和当前线程通讯 多线程worker只能创建1个.能和当前线程互传数据. 创建worker 在微信开发者工具中,在当前 ...

  5. 5天不再惧怕多线程——第一天 尝试Thread

    随笔 - 218  文章 - 1  评论 - 3819 5天不再惧怕多线程——第一天 尝试Thread   原本准备在mongodb之后写一个lucene.net系列,不过这几天用到多线程时才发现自己 ...

  6. 多线程 Worker Thread 模式

    Worker是“工人”的意思,worker thread pattern中,工人线程(worker thread)会一次抓一件工作来处理,当没有工作可做时,工人线程会停下来等待心得工作过来. Work ...

  7. php Pthread 多线程 Worker

    <?php //PHP 高级编程之多线程 http://www.netkiller.cn/journal/thread.php.html#idp57489856 //worker 是一个具有持久 ...

  8. Taro使用多线程Worker相关问题解决

    JavaScript 语言采用的是单线程模型,HTML5标准中的Web Worker ,为 JavaScript 创造多线程环境.微信小程序也有相应的Worker,同样具备多线程运行的能力 主页面中创 ...

  9. codefirst初尝试

    Code First 约定 借助 CodeFirst,可通过使用 C# 或Visual Basic .NET 类来描述模型.模型的基本形状可通过约定来检测.约定是规则集,用于在使用 Code Firs ...

随机推荐

  1. Python学习:10.Python装饰器讲解(一)

    情景介绍 一天,在你正在努力加班的时候,老板给交给你了一个任务,就是在这段代码里将所有函数开始输出一个‘hello’最后输出当前时间,再输出一个“end”,这段代码里包含了大量的函数,你会怎么做? d ...

  2. 流程控制之--if。

    假如把写程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分叉口,想象现实中,你遇到了分叉口,然后你决定往哪拐必然是有所动机的.你要判断那条岔路是你真正要走的路,如果我们想让程序也能处理这样 ...

  3. BugkuWeb本地包含

    知识点:$_REQUEST不是一个函数,它是一个超全局变量,里面包括有$_GET $_POST $_COOKIE的值,$_REPUEST 是接收了 $_GET $_POST $_COOKIE 三个的集 ...

  4. mysql 长连接断开问题

    从MySQL 5.0.3开始,默认情况下禁止再连接,这是5.0.13中的新选项,提供了一种以显式方式设置再连接行为的方法. mysql应用程序建立的长连接,大约过8小时会断开[没测过,网上都是这么说的 ...

  5. 为什么我要放弃javaScript数据结构与算法(第十章)—— 排序和搜索算法

    本章将会学习最常见的排序和搜索算法,如冒泡排序.选择排序.插入排序.归并排序.快速排序和堆排序,以及顺序排序和二叉搜索算法. 第十章 排序和搜索算法 排序算法 我们会从一个最慢的开始,接着是一些性能好 ...

  6. 使用OpenLayers发布地图

    OpenLayers是用于制作交互式Web地图的开源客户端JavaScript类库,制作的地图几乎可以在所有的浏览器中查看.因为是客户端类库,它不需要特殊的服务器端软件或配置,甚至不用下载任何东西就可 ...

  7. 北京Uber优步司机奖励政策(1月6日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  8. 2212: [Poi2011]Tree Rotations

    2212: [Poi2011]Tree Rotations https://www.lydsy.com/JudgeOnline/problem.php?id=2212 分析: 线段树合并. 首先对每个 ...

  9. java 中的线程池和线程 调用小demo

    public class Main { public static void main(String[] args) { try { /// ThreadPoolExecutor executor = ...

  10. wamp报错SCREAM:Error suppression ignored for

    问题:SCREAM:Error suppression ignored for 解决: 在php.ini最下面加入scream.enabled = Off http://stackoverflow.c ...