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 showModalDialog,open取得父窗口的方法
Mar 10 Javascript
js函数与php函数的区别实例浅析
Jan 12 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
Sep 17 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
Dec 11 Javascript
JS实现微信弹出搜索框 多条件查询功能
Dec 13 Javascript
Angularjs 依赖压缩及自定义过滤器写法
Feb 04 Javascript
如何正确理解javascript的模块化
Mar 02 Javascript
详解vue.js全局组件和局部组件
Apr 10 Javascript
jQuery tip提示插件(实例分享)
Apr 28 jQuery
详解在create-react-app使用less与antd按需加载
Dec 06 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
Jul 31 Javascript
JavaScript前端面试组合函数
Jun 21 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 面试碰到过的问题 在此做下记录
2011/06/09 PHP
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
2019/03/30 PHP
JavaScript 获取当前时间戳的代码
2010/08/05 Javascript
Jquery事件的连接使用示例
2013/06/18 Javascript
使用javascript实现页面定时跳转总结篇
2013/09/21 Javascript
jquery.post用法之type设置问题
2014/02/24 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
2015/09/22 Javascript
JS实现新浪博客左侧的Blog管理菜单效果代码
2015/10/22 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
2016/05/29 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
jQuery的Read()方法代替原生JS详解
2016/11/08 Javascript
Bootstrap免费字体和图标网站(值得收藏)
2017/03/16 Javascript
JavaScript之排序函数_动力节点Java学院整理
2017/06/30 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
基于node.js实现爬虫的讲解
2019/02/18 Javascript
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
2019/03/28 Javascript
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中的rfind()方法使用详解
2015/05/19 Python
python 实现数组list 添加、修改、删除的方法
2018/04/04 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
2020/11/17 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
详解HTML5中的Communication API基本使用方法
2016/01/29 HTML / CSS
《有趣的发现》教学反思
2014/04/15 职场文书
我有一个梦想演讲稿
2014/05/05 职场文书
推荐信模板
2014/05/09 职场文书
养成教育经验材料
2014/05/26 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
故宫英文导游词
2015/01/31 职场文书
美术教师求职信范文
2015/03/20 职场文书
花木兰观后感
2015/06/10 职场文书
三严三实·严以用权心得体会
2016/01/12 职场文书
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android
css3 选择器
2022/05/11 HTML / CSS