如何在js中实现多线程功能

esunaly 2016-11-10 11:10:58
请教各路大神,我遇到一个问题,就是js中我们需要批量导入一批数据对这批数据进行操作。代码类似这样for(var i=0;i<10000;i++){......极其复杂耗时间的操作,并且不能异步,只能同步} 这样的话性能特别低,想请教各路大神如何解决。现在我想到的是java中的多线程。但是并不知道在js里面怎样实现多线程的功能。望赐教
...全文
1813 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
未知数 2016-11-15
  • 打赏
  • 举报
回复
html5支持js开线程,你搜索一下js worker,不过这是宿主环境提供的,不是js原生能力。现代浏览器中可以使用woker var worker = new Worker('work.js'); worker.onmessage = function (event) {}; 新开的线程不能操作dom,只能用于计算.work.js中通过postMessage与主线程通信
esunaly 2016-11-14
  • 打赏
  • 举报
回复
aaaaaaaaaaa
当作看不见 2016-11-10
  • 打赏
  • 举报
回复
其实js的异步 就是开辟一个新的线程。和java的多线程机制是一样的 ,不过js吧线程细节给屏蔽掉了。理解函数回调的概连,处理多线程任务比java 更方便。不过js 确实不太适合高cpu的程序,比较适合高并发
Go 旅城通票 2016-11-10
  • 打赏
  • 举报
回复
js没有线程,只能居于回调,你觉得浏览器假死体验不要,可以用计时器来一个一个执行任务 ==>for循环遍历如何延时执行
当作看不见 2016-11-10
  • 打赏
  • 举报
回复
js单线程的。 解决方法就是异步 回掉 函数。
david___ 2016-11-10
  • 打赏
  • 举报
回复
setTimeout?

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧