注释详细,不多解释!请看代码!!!

简单交互页面 index.html

Web worker 最小公倍数和最大共约数

body {

font-family: "微软雅黑";

font-size: 14px;

}

.input-number,.result,.operate {

margin: 10px auto;

text-align: center;

}

.result {

width: 200px;

text-align: left;

}

第一个数:

第二个数:

计算

最小公倍数:

最大共约数:

主线程js文件 main.js

var worker = new Worker('multiple-divisor.js'),

calculateBtn = document.getElementById('calculate');

// 监听点击事件

calculateBtn.addEventListener('click', function () {

var first = document.getElementById('first').value,

second = document.getElementById('second').value;

// 向子线程发送参数

worker.postMessage({first: parseInt(first), second: parseInt(second)});

});

// 接收数据

worker.onmessage = function(e) {

document.getElementById('common_multiple').textContent = e.data.multiple;

document.getElementById('common_divisor').textContent = e.data.divisor;

}

web worker线程js文件 multiple-divisor.js

// 接收主线程发过来的参数

onmessage = function (e) {

var first = e.data.first,

second = e.data.second;

calculate(first, second);

}

// 求最小公倍数和最大公约数

function calculate(a, b) {

var c_multiple = multiple(a, b),

c_divisor = divisor(a, b);

// 向主进程发送计算结果

postMessage({multiple: c_multiple, divisor: c_divisor});

}

// 求最小公倍数

function multiple(a, b) {

return a * b / divisor(a, b);

}

// 求最大共约数

function divisor(a, b) {

if( a % b == 0) {

return b;

} else {

return divisor(b, a % b);

}

}

注意:本实例需要在服务器上运行

最小公倍数HTML,HTML5 Web Worker多线程编程实例 -- 计算最小公倍数和最大共约数相关推荐

  1. HTML5 Web Worker的使用

    来源:feng_013 的博客 Web Workers 是 HTML5 提供的一个javascript多线程解决方案,我们可以将一些大计算量的代码交由web Worker运行而不冻结用户界面. 一:如 ...

  2. JavaScript多线程之HTML5 Web Worker

    在博主的前些文章Promise的前世今生和妙用技巧和JavaScript单线程和浏览器事件循环简述中都曾提到了HTML5 Web Worker这一个概念.在JavaScript单线程和浏览器事件循环简 ...

  3. HTML5 Web Worker

    <!DOCTYPE html> <html><head><meta charset="utf-8" /><title>& ...

  4. linux c多进程多线程,linux下的C\C++多进程多线程编程实例详解

    linux下的C\C++多进程多线程编程实例详解 1.多进程编程 #include #include #include int main() { pid_t child_pid; /* 创建一个子进程 ...

  5. C#多线程编程实例 线程与窗体交互

    C#多线程编程实例 线程与窗体交互 代码: public partial class Form1 : Form{//声明线程数组Thread[] workThreads = new Thread[10 ...

  6. 主进程中发生了一个javascript错误_知道html5 Web Worker标准吗?能实现JavaScript的多线程?

    js为什么是单线程? 主要是因为最开始javascript是单纯的服务于浏览器的一种脚步语言(那时候没有nodejs).浏览器是为了渲染网页,通过dom与用户交互,如果一个线程需要给dom执行clic ...

  7. C#中Socket多线程编程实例

    C#是微软随着VS.net新推出的一门语言.它作为一门新兴的语言,有着C++的强健,又有着VB等的RAD特性.而且,微软推出C#主要的目的是为了对抗Sun公司的Java.大家都知道Java语言的强大功 ...

  8. C# Socket多线程编程实例

    C#是微软随着VS.net新推出的一门语言.它作为一门新兴的语言,有着C++的强健,又有着VB等的RAD特性.而且,微软推出C#主要的目的是为了对抗Sun公司的Java.大家都知道Java语言的强大功 ...

  9. [转]C#多线程编程实例实战

    单个写入程序/多个阅读程序在.Net类库中其实已经提供了实现,即System.Threading.ReaderWriterLock类.本文通过对常见的单个写入/多个阅读程序的分析来探索c#的多线程编程 ...

最新文章

  1. Lambda中的常用sql方法
  2. impdp的一些实际问题解决方法
  3. 3.cocos2dx它Menu,由menu为了实现场景切换
  4. mysql没加引号导致全表扫描_mysql隐蔽的索引规则导致数据全表扫描
  5. (王道408考研操作系统)第二章进程管理-第一节3:进程控制(配合Linux讲解)
  6. paip.c++ lua 调用attilax总结.
  7. soapui脚本链接mysql_SOAPUI中文教程---脚本和脚本库
  8. C语言IDE和编辑器比较
  9. Scrapy框架:Request和Response对象,使用Request发送get请求、FormRequest发送post请求
  10. 深度学习语音识别方法概述与分析
  11. 【笔记】两个根因分析方法:5WHYamp;10WHY
  12. 孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9并使用pydocx模块将结果写入word文档...
  13. html中如何设置动画效果,css3如何设置动画?
  14. 交换机虚拟化和堆叠的区别_网工知识角|一分钟记熟NFV网络功能虚拟化技术介绍...
  15. Zeus: Uber 开发的分布式的高扩展 Shuffle 服务组件
  16. Python简单的操作excel表格
  17. 小猪佩奇python_小猪佩奇社会人专用服务器,有意思的python小程序,附python代码...
  18. selenium+python 注册登录163邮箱
  19. 一个精英的诞生,家庭因素有多大?
  20. 基于心理账户、效应及决策,聊聊股票App的设计

热门文章

  1. thinkserer TD350 系统损坏后,数据恢复及系统重做过程
  2. Execl空值和空串的问题
  3. java 以时间戳生成编号_Java生成时间戳
  4. 在MFC工程中新建一个对话框
  5. 这场秋季“保心战”,草晶华丹参破壁草本怎么能缺席?
  6. 与时俱进的IFS,进击的IFS Applications 10
  7. project professional 2007 连接不上project server 2007
  8. [51nod1455]宝石猎人——DP
  9. 太爽了今天解决了大问题!——LOL英雄联盟读条后崩溃报错error,错误LOL_public……一下午终于解决
  10. Packet Tracer思科企业组网实例