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 相关文章推荐
html读出文本文件内容
Jan 22 Javascript
JS动画效果代码3
Apr 03 Javascript
javascript 静态对象和构造函数的使用和公私问题
Mar 02 Javascript
JavaScript 判断浏览器是否支持SVG的代码
Mar 21 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
Dec 16 Javascript
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
Mar 05 Javascript
javascript中几个容易混淆的概念总结
Apr 14 Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
Apr 04 Javascript
React中上传图片到七牛的示例代码
Oct 10 Javascript
vue实现购物车案例
May 30 Javascript
Vue将props值实时传递 并可修改的操作
Aug 09 Javascript
vue backtop组件的实现完整代码
Apr 07 Vue.js
浅谈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
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
JavaScript数组深拷贝和浅拷贝的两种方法
2014/04/16 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
js采用concat和sort将N个数组拼接起来的方法
2016/01/21 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
JS中appendChild追加子节点无效的解决方法
2018/10/14 Javascript
一份超级详细的Vue-cli3.0使用教程【推荐】
2018/11/15 Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
2020/03/03 Javascript
python刷投票的脚本实现代码
2014/11/08 Python
Python使用multiprocessing创建进程的方法
2015/06/04 Python
Python中防止sql注入的方法详解
2017/02/25 Python
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
pip matplotlib报错equired packages can not be built解决
2018/01/06 Python
python针对excel的操作技巧
2018/03/13 Python
python3.5安装python3-tk详解
2019/04/26 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
Python有参函数使用代码实例
2020/01/06 Python
python 微信好友特征数据分析及可视化
2020/01/07 Python
python如何判断IP地址合法性
2020/04/05 Python
PyTorch的torch.cat用法
2020/06/28 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
家佳咖啡店创业计划书
2013/12/27 职场文书
学校万圣节活动方案
2014/02/13 职场文书
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
网络技术专业求职信
2014/02/18 职场文书
2014年学生会工作总结范文
2014/11/07 职场文书
汽车4S店前台接待岗位职责
2015/04/03 职场文书
2015年语文教学工作总结
2015/05/25 职场文书
入党转正介绍人意见
2015/06/03 职场文书
导游词之安徽九华山
2019/09/18 职场文书
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis
讲解Python实例练习逆序输出字符串
2022/05/06 Python