JavaScript使用yield模拟多线程的方法


Posted in Javascript onMarch 19, 2015

本文实例讲述了JavaScript使用yield模拟多线程的方法。分享给大家供大家参考。具体分析如下:

在python和C#中都有yield方法,通过yield可以实现很多多线程才能实现的功能。
对javascript有版本要求:JavaScript 1.7

function Thread( name ) {
  for ( var i = 0; i < 5; i++ ) {
    Print(name+': '+i);
    yield;
  }
}
//// thread management
var threads = [];
// thread creation
threads.push( new Thread('foo') );
threads.push( new Thread('bar') );
// scheduler
while (threads.length) {
  var thread = threads.shift();
  try {
    thread.next();
    threads.push(thread);
  } catch(ex if ex instanceof StopIteration) {}
}

上面代码输入结果如下:

foo: 0
bar: 0
foo: 1
bar: 1
foo: 2
bar: 2
foo: 3
bar: 3
foo: 4
bar: 4

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
初学Javascript的一些总结
Nov 03 Javascript
jQuery使用addClass()方法给元素添加多个class样式
Mar 26 Javascript
javascript实现点击提交按钮后显示loading的方法
Jul 03 Javascript
jQuery插件datalist实现很好看的input下拉列表
Jul 14 Javascript
JS实现匀加速与匀减速运动的方法示例
Sep 04 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
Mar 14 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
Sep 12 Javascript
vue实现设置载入动画和初始化页面动画效果
Oct 28 Javascript
JS实现判断移动端PC端功能
Feb 21 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
Jul 28 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
Aug 07 Javascript
JavaScript 异步时序问题
Nov 20 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
Mar 19 #Javascript
JavaScript数组随机排列实现随机洗牌功能
Mar 19 #Javascript
JavaScript生成随机字符串的方法
Mar 19 #Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
Mar 19 #Javascript
JavaScript通过字典进行字符串翻译转换的方法
Mar 19 #Javascript
JavaScript更改原始对象valueOf的方法
Mar 19 #Javascript
jquery比较简洁的软键盘特效实现方法
Mar 19 #Javascript
You might like
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
PHP pear安装配置教程
2016/05/14 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
js静态作用域的功能。
2006/12/25 Javascript
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
jQuery实现弹出窗口中切换登录与注册表单
2015/06/05 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
微信小程序本地缓存数据增删改查实例详解
2017/05/24 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
微信小程序实现导航栏选项卡效果
2020/06/19 Javascript
详解原生JS回到顶部
2019/03/25 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
Django使用AJAX调用自己写的API接口的方法
2019/03/06 Python
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
英国最大的笔记本电脑直销专家:Laptops Direct
2019/07/20 全球购物
.net软件工程师面试题
2015/03/31 面试题
机械绘图员岗位职责
2013/11/19 职场文书
应届大学生自荐书
2014/06/17 职场文书
学校安全责任书范本
2014/07/23 职场文书
爬山的活动方案
2014/08/16 职场文书
争做文明公民倡议书
2014/08/29 职场文书
信访工作个人总结
2015/03/03 职场文书
继续教育个人总结
2015/03/03 职场文书
党委工作总结2015
2015/04/27 职场文书
就业意向书范本
2015/05/11 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书