setTimeout與多線程

console.log(xxx);  在控制檯Console輸xxx,不會打斷頁面的正常操作


setTimeout(function(){
func1();
},0)
func2();
//在上面這段代碼中func2先執行,func1後執行,0s延遲表示回調函數將插隊到一個能立即執行的時段
//如果不寫0,瀏覽器自動配置時間,多爲10-100ms,所以還是func2先執行,func1後執行

因爲JavaScript是單線程的,較大的程序容易出現阻塞。
setTimeout可以處理這一問題,它可以把較大的程序分成多個片,插入到執行隊列中,在不同的時段執行。
換言之,就是把其它執行塊穿插到大程序內部,實現了僞多線程

函數庫Concurrent.Thread.js是實現JavaScript多線程的。
下載並引入該庫後,
Concurrent.Thread.create( code block 1 );
code block 2; 
代碼塊1不論多大,都不影響代碼塊2的執行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章