关于使用Javascript来模拟多线程的一点想法
来源:互联网 发布:instagram拍照软件好吗 编辑:程序博客网 时间:2024/06/18 07:25
据我所知,JavaScript引擎是单线程运行的,浏览器无论在什么时候都有且只有一个线程在运行JavaScript程序。
参考:http://www.phpv.net/html/1700.html
不过我曾今写过一个javascript的类库,要求在同一时刻向10个服务器发送请求,在返回的响应中获取最大值。我们知道,每个服务器响应的时间往往各不相同,我们假设一般都能够在150ms内返回结果。现在有这样的一个问题,我们希望所有任务在200ms里完成。如果依次进行访问并或者结果显示是来不及的,那如果能够让JS模拟出多线程的效果呢?
当然,我们可能首先会想到使用xmlhttprequest(ajax)来实现异步操作,通过设置一个timeout时间200ms, 把所有成功返回的结果拿出来比较(有些未能在200ms里返回的响应被丢弃)。然而在实际的运用过程中我们放弃了这种方法,原因是通过ajax发送请求会出现跨域无法访问的问题,及时都在一个域名下,10个请求在200ms内成功返回的机会好像也不是那么高(当然这个可能都很多其他的环境因素有关)。
我们最终的解决办法是,通过在页面上,给每一个请求动态创建一个iframe,然后在iframe内部发送请求,最后把结果返回到页面。由此可见,iframe有时也能起到很大的作用。不过我相信要是同时需要发送100个请求可能也不靠谱,因为据我所知,动态创建过多的iframe会严重影响性能。不知道除此之外还有没有别的什么更好的办法了。
0 0
- 关于使用Javascript来模拟多线程的一点想法
- python关于webdriver处理cookie的一点想法(多线程)
- 关于.net的一点想法
- 关于黄家驹的一点想法
- 关于UML的一点想法
- 关于Wiki 的一点想法
- 关于 EPO 的一点想法
- 关于屏蔽的一点想法
- 关于J2SE的一点想法
- 关于离开的一点想法
- 关于需求的一点想法
- 关于REST的一点想法
- 关于REST的一点想法
- 关于REST的一点想法
- 关于REST的一点想法
- 关于REST的一点想法
- 关于REST的一点想法
- 关于.net的一点想法
- javascript__基础表单
- HDU 2579 - Dating with girls(2)
- Codeforces 437C The Child and Toy(贪心)
- Interview
- Linked List Cycle
- 关于使用Javascript来模拟多线程的一点想法
- kernfs_addrm_start kernfs_add_one
- 给你的网站添加访问统计和事件统计
- Your Progress As A Programmer Is All Up To You
- HDU 1163 Eddy's digital Roots(九余数定理)
- java并发编程(8)--callable&Future
- 关于java面试
- 机器人控制入门的一些想法(2)
- HDU 2255 奔小康赚大钱(KM)