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 object and DOM element
Apr 15 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
Apr 18 Javascript
Javascript基础教程之if条件语句
Jan 18 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
Dec 02 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
Jul 12 Javascript
js倒计时显示实例
Dec 11 Javascript
react 实现页面代码分割、按需加载的方法
Apr 03 Javascript
layui获取选中行数据的实例讲解
Aug 19 Javascript
生成无限制的微信小程序码的示例代码
Sep 20 Javascript
JS+DIV实现拖动效果
Feb 11 Javascript
详解vue修改elementUI的分页组件视图没更新问题
Nov 13 Javascript
微信小程序tab左右滑动切换功能的实现代码
Feb 08 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获取随机数组列表的方法
2014/11/13 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
Javascript 调试利器 Firebug使用详解六
2009/07/05 Javascript
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
asp.net+js 实现无刷新上传解析csv文件的代码
2010/05/17 Javascript
chrome下jq width()方法取值为0的解决方法
2014/05/26 Javascript
javascript中通过arguments参数伪装方法重载
2014/10/08 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
jQuery实现购物车数字加减效果
2015/03/14 Javascript
JS实现动态生成表格并提交表格数据向后端
2020/11/25 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
2016/05/30 Javascript
JQuery 设置checkbox值二次无效的解决方法
2016/07/22 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
2017/01/19 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
详解如何用webpack4从零开始构建react开发环境
2019/01/27 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
浅析Python多线程下的变量问题
2015/04/28 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
Python pathlib模块使用方法及实例解析
2020/10/05 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
巴西购物网站:Submarino
2020/01/19 全球购物
求职者简历中的自我评价
2013/10/20 职场文书
环境工程求职简历的自我评价范文
2013/10/24 职场文书
小学生期末评语大全
2014/04/21 职场文书
预备党员期盼十八届四中全会召开思想汇报
2014/10/17 职场文书
同学聚会祝酒词
2015/08/10 职场文书
创新创业项目计划书该怎样写?
2019/08/13 职场文书