1.web work
W3S:https://www.w3schools.com/htmL/html5_webworkers.asp
WebWork 是運行在後臺的 JavaScript,獨立於其他腳本,不會影響頁面的性能。您可以繼續做任何願意做的事情:點擊、選取內容等等,而此時 web worker 在後臺運行。
注意:dom是不能被異步操作的! WebWork不能在本地使用
webwork.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript多線程</title>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<style type="text/css">
div {
width: 100px;
height: 100px;
cursor: pointer;
background: orange;
}
</style>
</head>
<body>
<div id="test">
測試點擊
</div>
<script type="text/javascript">
$('#test').click(function() {
alert(1);
});
var worker = new Worker("task.js");
worker.onmessage = function(event) {
// 消息文本放置在data屬性中,
// oBox.innerHTML = event.data;
alert(event.data);
}
worker.postMessage(500000);
</script>
</body>
</html>
task.js
onmessage = function(event) {
var num = event.data;
var result = 0;
for (var i = 0; i < num; i++) {
result += i;
console.log(result);
}
// 向線程創建源送回消息
postMessage(result);
}
2.Concurrent.Thread.js
下載地址:http://download.csdn.net/download/include_define/796952
教程文檔:http://www.cnblogs.com/0banana0/archive/2011/06/01/2067402.html