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 相关文章推荐
jquery多行滚动/向左或向上滚动/响应鼠标实现思路及代码
Jan 23 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
Oct 25 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
Nov 14 Javascript
浅谈JavaScript字符集
May 22 Javascript
js调试系列 控制台命令行API使用方法
Jun 18 Javascript
node.js中的fs.lstat方法使用说明
Dec 16 Javascript
jQuery中insertAfter()方法用法实例
Jan 08 Javascript
Javascript的表单验证-揭开正则表达式的面纱
Mar 18 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
Aug 29 Javascript
谈谈VUE种methods watch和compute的区别和联系
Aug 01 Javascript
使用webpack-dev-server处理跨域请求的方法
Apr 18 Javascript
JavaScript组合继承详解
Nov 07 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中在PDO中使用事务(Transaction)
2011/05/14 PHP
php实现两表合并成新表并且有序排列的方法
2014/12/05 PHP
PHP rsa加密解密使用方法
2015/04/27 PHP
详解WordPress中简码格式标签编写的基本方法
2015/12/22 PHP
最短的IE判断代码
2011/03/13 Javascript
浅谈$(document)和$(window)的区别
2015/07/15 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
jquery淡入淡出效果简单实例
2016/01/14 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
JS实现数组的增删改查操作示例
2018/08/29 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
2018/10/30 Javascript
js实现图片推拉门效果代码实例
2019/05/18 Javascript
js简单遍历获取对象中的属性值的方法示例
2019/06/19 Javascript
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
Python探索之Metaclass初步了解
2017/10/28 Python
python3通过selenium爬虫获取到dj商品的实例代码
2019/04/25 Python
Django工程的分层结构详解
2019/07/18 Python
python cv2在验证码识别中应用实例解析
2019/12/25 Python
pytorch常见的Tensor类型详解
2020/01/15 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
2020/06/10 Python
美国第一香水网站:Perfume.com
2017/01/23 全球购物
物流专业大学生求职信范文
2013/10/28 职场文书
《乞巧》教学反思
2014/02/27 职场文书
触电现场处置方案
2014/05/14 职场文书
档案保密承诺书
2014/06/03 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
放假通知范文
2015/04/14 职场文书