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 相关文章推荐
javascript:void(0)的作用示例介绍
Oct 28 Javascript
jquery重复提交请求的原因浅析
May 23 Javascript
jquery表单对象属性过滤选择器实例分析
May 18 Javascript
jquery实现ajax加载超时提示的方法
Jul 23 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
Sep 04 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
Feb 26 Javascript
浅谈从React渲染流程分析Diff算法
Sep 08 Javascript
如何解决.vue文件url引用文件的问题
Jan 18 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
Dec 12 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
Nov 07 Javascript
vue图片裁剪插件vue-cropper使用方法详解
Dec 16 Vue.js
用JS实现飞机大战小游戏
Jun 09 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页面中文乱码分析
2013/10/29 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
php使用parse_str实现查询字符串解析到变量中的方法
2017/02/17 PHP
PHP中cookie知识点学习
2018/05/06 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
使用JavaScript switch case 另类写法
2010/03/14 Javascript
在JavaScript中处理数组之reverse()方法的使用
2015/06/09 Javascript
复杂的javascript窗口分帧解析
2016/02/19 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
用move.js库实现百叶窗特效
2017/02/08 Javascript
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
JavaScript手风琴页面制作
2017/05/17 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
2017/07/17 jQuery
微信小程序自定义toast的实现代码
2018/11/16 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
2018/07/25 Python
Python中利用aiohttp制作异步爬虫及简单应用
2018/11/29 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
python写日志文件操作类与应用示例
2019/07/01 Python
python多线程共享变量的使用和效率方法
2019/07/16 Python
css3的过滤效果简单实例
2016/08/03 HTML / CSS
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
2014年端午节演讲稿范文
2014/05/23 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
上学路上观后感
2015/06/16 职场文书
家访教师心得体会
2016/01/23 职场文书
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python
搭建Yolov5服务器
2022/04/30 Servers