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 相关文章推荐
picChange 图片切换特效的函数代码
May 06 Javascript
超越Jquery_01_isPlainObject分析与重构
Oct 20 Javascript
Jquery之美中不足小结
Feb 16 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
Aug 23 Javascript
js日期相关函数总结分享
Oct 15 Javascript
angularjs客户端实现压缩图片文件并上传实例
Jul 06 Javascript
js中new一个对象的过程
Feb 20 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
May 15 jQuery
基于JavaScript实现微信抢红包功能
Jul 20 Javascript
vue iview多张图片大图预览、缩放翻转
Jul 13 Javascript
js对象数组和对象的使用实例详解
Aug 27 Javascript
小程序中的箭头函数的具体使用
Jun 19 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获取post中的json数据的实现方法
2011/06/08 PHP
领悟php接口中interface存在的意义
2013/06/27 PHP
详解yii2使用多个数据库的案例
2017/06/16 PHP
PHP实现的分页类定义与用法示例
2017/07/05 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
用js实现预览待上传的本地图片
2007/03/15 Javascript
自编jQuery插件实现模拟alert和confirm
2014/09/01 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
vue复合组件实现注册表单功能
2017/11/06 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
Element-ui table中过滤条件变更表格内容的方法
2018/03/02 Javascript
JS三级联动代码格式实例详解
2019/12/30 Javascript
Vue Router的手写实现方法实现
2020/03/02 Javascript
JS实现前端路由功能示例【原生路由】
2020/05/29 Javascript
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
Mac下Anaconda的安装和使用教程
2018/11/29 Python
对python列表里的字典元素去重方法详解
2019/01/21 Python
Python OpenCV实现鼠标画框效果
2020/08/19 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
Python中的Cookie模块如何使用
2020/06/04 Python
Ray-Ban雷朋美国官网:全球领先的太阳眼镜品牌
2016/07/20 全球购物
校园招聘策划书
2014/01/09 职场文书
顶碗少年教学反思
2014/02/21 职场文书
关于抽烟的检讨书
2014/02/25 职场文书
产品生产计划书
2014/05/07 职场文书
战友聚会策划方案
2014/06/13 职场文书
中央空调节能方案
2014/06/15 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
社区端午节活动总结
2015/02/11 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书
nginx配置限速限流基于内置模块
2022/05/02 Servers
全网非常详细的pytest配置文件
2022/07/15 Python