js基于setTimeout与setInterval实现多线程


Posted in Javascript onJune 17, 2016

本文实例讲述了js基于setTimeout与setInterval实现多线程的方法。分享给大家供大家参考,具体如下:

javascript无法实现线程阻塞(sleep),原因是因为sleep涉及系统调用。js出于安全考虑是不允许系统调用的。

如果一定要实现语句继续执行就只能用while(1)空转的方法消耗CPU,判断到了时间就break。不过这个方法也不是真正sleep。

只执行一次的定时器

<script>
//定时器使用的是异步的方式运行的
function hello(){
  alert("hello");
}
//使用方法名字执行方法
var t1 = window.setTimeout(hello,1000);
var t2 = window.setTimeout("hello()",3000);//使用字符串执行方法
window.clearTimeout(t1);//去掉定时器
</script>

重复执行的定时器

<script>
function hello(){
  alert("hello");
}
//重复执行某个方法
var t1 = window.setInterval(hello,1000);
var t2 = window.setInterval("hello()",3000);
//去掉定时器的方法
window.clearInterval(t1);
</script>

问题:

如果在一个页面中有两个方法都是在页面加载完成之后执行的,但是实际运行的结果不能按照自己想象的先后顺序执行,该如何解决呢?

解决方法:

可以在onload方法中添加一个定时器,设置一个定时器,“延迟”一段时间之后再运行,这样就可以人为区分页面加载运行方法的先后顺序了。

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

Javascript 相关文章推荐
显示、隐藏密码
Jul 01 Javascript
jquery 插件 任意位置浮动固定层
Dec 25 Javascript
js 颜色选择器(兼容firefox)
Mar 05 Javascript
javascript数组去掉重复
May 12 Javascript
JS中实现简单Formatter函数示例代码
Aug 19 Javascript
JavaScript中的Math.LN2属性用法详解
Jun 12 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
Nov 26 Javascript
详解webpack之scss和postcss-loader的配置
Jan 09 Javascript
原生JS实现的双色球功能示例
Feb 02 Javascript
Vue+Express实现登录状态权限验证的示例代码
May 05 Javascript
Postman内建变量常用方法实例解析
Jul 28 Javascript
Vue实现计算器计算效果
Aug 17 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
Jun 17 #Javascript
jQuery animate easing使用方法图文详解
Jun 17 #Javascript
JS常用字符串方法(推荐)
Jan 15 #Javascript
url中的特殊符号有什么含义(推荐)
Jun 17 #Javascript
JS模拟的Map类实现方法
Jun 17 #Javascript
jQuery实现iframe父窗体和子窗体的相互调用
Jun 17 #Javascript
JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“
Jun 16 #Javascript
You might like
PHP中子类重载父类的方法【parent::方法名】
2016/05/06 PHP
php微信高级接口群发 多客服
2016/06/23 PHP
用JQuery调用Session的实现代码
2010/10/29 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
Node.js 实现简单小说爬虫实例
2016/11/18 Javascript
详解自动生成博客目录案例
2016/12/09 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
Vue中建立全局引用或者全局命令的方法
2017/08/21 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
浅谈React Native 传参的几种方式(小结)
2019/05/21 Javascript
Python的Django框架中从url中捕捉文本的方法
2015/07/20 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
Python3.5集合及其常见运算实例详解
2019/05/01 Python
python selenium登录豆瓣网过程解析
2019/08/10 Python
python匿名函数的使用方法解析
2019/10/10 Python
python 字典访问的三种方法小结
2019/12/05 Python
python 实现线程之间的通信示例
2020/02/14 Python
Django多层嵌套ManyToMany字段ORM操作详解
2020/05/19 Python
Python如何将将模块分割成多个文件
2020/08/04 Python
全球领先的在线cosplay服装商店:RoleCosplay
2020/01/18 全球购物
精伦电子Java笔试题
2013/01/16 面试题
毕业生教师求职信
2013/10/20 职场文书
大学毕业生通用自荐信范文
2013/10/31 职场文书
冰淇淋店创业计划书范文
2013/12/27 职场文书
给学校的建议书
2014/03/12 职场文书
喋血孤城观后感
2015/06/08 职场文书
图书馆义工感想
2015/08/07 职场文书