有什么想法(库或方法)在JavaScript中创建多线程应用程序?多线程JavaScript如何?
回答
JavaScript并没有真正的多线程功能,JavaScript程序员无法做出任何改变。
但是,我们可以做的是模拟多线程。也请通过article。
而且有(仅在FF 3.5/HTML5)上JavaScript Multithread Framework for Asynchronous Processing论文
一个PDF链接你会得到最接近的是网络工作者。查看 - http://www.whatwg.org/specs/web-workers/current-work/
John Resig也在谈论这些:http://ejohn.org/blog/web-workers/。他们甚至制作了JavaScript光线追踪器,哈哈。 – 2010-01-27 10:10:40
JavaScript是一种动态编程语言,可用于许多不同的事情。如果它没有在浏览器中使用,你可以完全依赖多线程,事件循环等。你应该检查出node.js。
不幸的是,浏览器只给你一套严格的语言功能。
我发现相当稳定的线程的另一个模拟是使用图像。这似乎是加载在另一个线程在浏览器(?)。但是,您的回调JavaScript将始终按顺序运行。
下面它载入500个。
<html>
<head>
<title>so</title>
<style></style>
</head>
<script>
function callBack(img){
var i = 0, img, res = document.getElementById('res'),
fn = function(cnt){
var img = document.createElement('img');
img.onerror = function(ev){
res.innerHTML += cnt + ', ';
document.body.removeChild(img);
};
img.src = 'javascript:void(0)';
document.body.appendChild(img);
};
do{
fn(i++);
}while(i<500);
}
</script>
<body onload="callBack()">
<div id="res"></div>
</body>
</html>
网络工作者
您可以使用Web Workers创建后台线程
网络工作者提供了一个简单的手段对网页内容运行在后台线程的脚本。工作者线程可以执行任务而不会干扰用户界面。另外,他们可以使用XMLHttpRequest执行I/O(尽管responseXML和channel属性始终为空)。一旦创建,工作人员就可以通过将消息发布到由该代码指定的事件处理程序(或反之亦然),将消息发送到创建它的JavaScript代码。本文详细介绍了如何使用Web工作人员。
浏览器兼容性
铬:4
火狐(壁虎):3.5
Internet Explorer中:10.0
歌剧:10.6
Safari浏览器(WebKit的):4
- 1. JavaScript多线程?
- 2. '多线程'setInterval函数(Javascript)
- 3. IE6中的JavaScript多线程?
- 4. 要多线程或不要多线程 - JavaScript
- 5. 如何使用多线程
- 6. 如何添加多线程?
- 7. sidekiq多线程如何去
- 8. 如何多线程呢?
- 9. (Java多线程)如何在多线程中传递参数?
- 10. 如何配置多线程程序?
- 11. 如何退出多线程程序?
- 12. 如何为多线程应用程序
- 13. Python多线程:如何让守护进程线程运行
- 14. 在javascript中实现多线程
- 15. 如何锁定Javascript中的线程?
- 16. 如何在javascript中使用线程
- 17. 如何阻止JavaScript运行的线程?
- 18. 多线程线程控制
- 19. Java线程(多线程)
- 20. 单线程C多线程#
- 21. 多线程vs单线程
- 22. 多线程 - 等待线程
- 23. 关于多线程的java多线程
- 24. java中有多线程的多线程
- 25. 多线程DLL(/ MD)vs多线程(/ MT)
- 26. 如何在后台使用多线程提升线程
- 27. ArrayList,线程和同步 - 如何准确同步多个线程
- 28. 如何将线程转换为多线程?
- 29. 如何将参数传递给c多线程中的线程
- 30. 多线程:如何让jframe更新一个线程的日志?
文章链接被打破! – 2012-03-14 18:36:58