js基于setTimeout与setInterval实现多线程
本文实例讲述了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查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
相关推荐
jiangbo0 2019-09-08
Luffyying 2016-05-11
hyv 2016-02-19
逆风飞舞0 2015-12-24
xaoyege 2019-06-27
崔博伦一路有你 2014-08-06
nmgxzm00 2014-04-28
itSeven 2012-12-18
83500391 2012-04-19
愚盦 2011-12-03
angqiuli 2020-05-16
弱思 2020-04-20
nankangren 2019-11-19
zhangmingming 2011-09-18
Tomhsfreestyle 2011-08-20
努力的zhiyi 2011-07-15
CXPOwen 2017-10-15
yzxlemon 2017-02-13