js 多线程 setTimeout setInterval
2016-09-07 17:18
423 查看
javascript无法实现线程阻塞(sleep),原因是因为sleep涉及系统调用。js出于安全考虑是不允许系统调用的。
如果一定要实现语句继续执行就只能用while(1)空转的方法消耗CPU,判断到了时间就break。不过这个方法也不是真正sleep。
只执行一次的定时器
重复执行的定时器
问题:如果在一个页面中有两个方法都是在页面加载完成之后执行的,但是实际运行的结果不能按照自己想象的先后顺序执行,该如何解决呢?
可以在onload方法中添加一个定时器,设置一个定时器,“延迟”一段时间之后再运行,这样就可以认为区分页面加载运行方法的先后顺序了。
如果一定要实现语句继续执行就只能用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方法中添加一个定时器,设置一个定时器,“延迟”一段时间之后再运行,这样就可以认为区分页面加载运行方法的先后顺序了。
相关文章推荐
- JS黑魔法之this, setTimeout/setInterval, arguments
- js setInterval setTimeout 方法区别
- JS setInterval setTimeout的用法
- JS setTimeout setInterval
- js setTimeout 和 setInterval
- js中setInterval/clearInterval与setTimeout/clearTimeout
- 关于js setInterval setTimeout
- JS setTimeout setInterval
- js setTimeout and setInterval
- Js_window.setInterval & window.setTimeout
- js中setInterval/clearInterval与setTimeout/clearTimeout
- 【转】javascript setTimeout setInterval 使用详解
- session-timeout(web.xml)元素与session.setMaxInactiveInterval()函数
- 中文输入法不触发keyup解决方法setInterval/setTimeout
- SetTimeout SetInterval
- Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
- js+setInterval()两种方式
- JS setTimeout延迟时间为0的详解
- web.xml中的session-timeout元素与session.setMaxInactiveInterval()函数 的区别和使用
- 让JavaScript中计时器setTimeout/setInterval的回调方法支持参数传递