问题描述
- JS单线程 如何避免阻塞?
-
笔者初接触js,目前还在啃javascript高级程序设计,啃完ECMAScripts和一部分DOM,有个问题很困惑,求助各位大神
js在浏览器的执行是单线程的,我这样理解应该是没问题的吧?那么问题来了,假设我要实现一个功能,每隔一秒就需要调用一次,怎么样才能保证我的这个进程不会阻塞。比如一个显示时间的模块,每隔一秒就需要调用一次,进行修改,但是现在有一个进程需要从服务器端交互数据,而get的过程大于1000ms,那么怎么样确保,时间显示不会停滞
解决方案
以前的JavaScript是不能多线程执行的,你在运行一段脚本的时候,如果有其它脚本正在请求,那这段脚本就只能等待。不过最新的html5支持Web worker功能,这个相当于让JavaScript可以多线程执行任务。具体使用你可以百度。
解决方案二:
http://www.cnblogs.com/MeteorSeed/articles/2283629.html
解决方案三:
js的时间定时器就是异步触发的,所以你的处理时间超过1s,定时器就不准了。
http://blog.csdn.net/talking12391239/article/details/21168489
时间: 2024-09-24 08:25:39