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 相关文章推荐
js onpropertychange输入框 事件获取属性
Mar 26 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
Mar 07 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
Mar 03 Javascript
js实现网页多级级联菜单代码
Aug 20 Javascript
jQuery中cookie插件用法实例分析
Dec 04 Javascript
使用Angular.js实现简单的购物车功能
Nov 21 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
Nov 23 Javascript
JavaScript门面模式详解
Oct 19 Javascript
Node.js创建Web、TCP服务器
Dec 05 Javascript
记录一次完整的react hooks实践
Mar 11 Javascript
jquery实现二级导航下拉菜单效果实例
May 14 jQuery
jQuery实现弹幕特效
Nov 29 jQuery
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
PHP删除目录及目录下所有文件的方法详解
2013/06/06 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
2014/12/16 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
php读取txt文件并将数据插入到数据库
2016/02/23 PHP
php实现微信分享朋友链接功能
2019/02/18 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
javascript设计模式 封装和信息隐藏(上)
2012/07/24 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
全面了解函数声明与函数表达式、变量提升
2016/08/09 Javascript
jQuery EasyUI封装简化操作
2016/09/18 Javascript
jQuery UI Grid 模态框中的表格实例代码
2017/04/01 jQuery
详解Angular 自定义结构指令
2017/06/21 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
了解JavaScript中的选择器
2019/05/24 Javascript
JavaScript中将值转换为字符串的五种方法总结
2019/06/06 Javascript
Vue函数式组件的应用实例详解
2019/08/30 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
virtualenv实现多个版本Python共存
2017/08/21 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
[原创]Python入门教程4. 元组基本操作
2018/10/31 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
2020/04/27 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
高二政治教学反思
2014/02/01 职场文书
十八届三中全会感言
2014/03/10 职场文书
2014县政府领导班子对照检查材料思想汇报
2014/09/25 职场文书
工作态度恶劣检讨书
2015/05/06 职场文书
2016年少先队活动总结
2016/04/06 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
python中对列表的删除和添加方法详解
2022/02/24 Python