欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

javascript多線程的實(shí)現(xiàn)方法

本篇內(nèi)容介紹了“javascript多線程的實(shí)現(xiàn)方法”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元武陵源做網(wǎng)站,已為上家服務(wù),為武陵源各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

在js中,可以使用Worker類來實(shí)現(xiàn)多線程,語法格式為“var worker = new Worker(js文件路徑);”。使用這個(gè)類的時(shí)候,它就會(huì)向?yàn)g覽器申請(qǐng)一個(gè)新的線程,該線程就用來單獨(dú)執(zhí)行一個(gè)js文件。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

我們都知道JS是一種單線程語言,即使是一些異步的事件也是在JS的主線程上運(yùn)行的(具體是怎么運(yùn)行的,可以看我另一篇博客JS代碼運(yùn)行機(jī)制)。像setTimeout、ajax的異步請(qǐng)求,或者是dom元素的一些事件,都是在JS主線程執(zhí)行的,這些操作并沒有在瀏覽器中開辟新的線程去執(zhí)行,而是當(dāng)這些異步操作被操作時(shí)或者是被觸發(fā)時(shí)才進(jìn)入事件隊(duì)列,然后在JS主線程中開始運(yùn)行。

首先說一下瀏覽器的線程,瀏覽器中主要的線程包括,UI渲染線程,JS主線程,GUI事件觸發(fā)線程,http請(qǐng)求線程。

JS作為腳本語言,它的主要用途是與用戶互動(dòng),以及操作DOM。這決定了它只能是單線程,否則會(huì)帶來很復(fù)雜的同步問題。(這里這些問題我們不做研究)

但是單線程的語言,有一個(gè)很致命的確定。如果說一個(gè)腳本語言在執(zhí)行時(shí),其中某一塊的功能在執(zhí)行時(shí)耗費(fèi)了大量的時(shí)間,那么就會(huì)造成阻塞。這樣的項(xiàng)目,用戶體驗(yàn)是非常差的,所以這種現(xiàn)象在項(xiàng)目的開發(fā)過程中是不允許存在的。

其實(shí)JS為我們提供了一個(gè)Worker的類,它的作用就是為了解決這種阻塞的現(xiàn)象。當(dāng)我們使用這個(gè)類的時(shí)候,它就會(huì)向?yàn)g覽器申請(qǐng)一個(gè)新的線程。這個(gè)線程就用來單獨(dú)執(zhí)行一個(gè)js文件。

var worker = new Worker(js文件路徑);

那么這個(gè)語句就會(huì)申請(qǐng)一個(gè)線程用來執(zhí)行這個(gè)js文件。

當(dāng)然,在主線程中有一些方法來實(shí)現(xiàn)對(duì)新線程的控制和數(shù)據(jù)的接收。在這里,我們只說比較常用的幾個(gè)方法。

//postMessage(msg);
//postMessage方法把在新線程執(zhí)行的結(jié)果發(fā)送到瀏覽器的js引擎線程里
worker.onmessage = function(){
    //獲取在新線程中執(zhí)行的js文件發(fā)送的數(shù)據(jù) 用event.data接收數(shù)據(jù)
    console.log( event.data )
};
setTimeout( function(){
    worker.terminate();
    //terminate方法用于關(guān)閉worker線程
},2000)

setTimeout( function(){
    worker = new Worker("js/test22.js");
    //再次開啟worker線程
},3000)

在新線程中使用postMessage()方法可以向主線程中發(fā)送一些數(shù)據(jù),主線程中使用worker的onmessage事件來接收這些數(shù)據(jù),這樣就實(shí)現(xiàn)了js的多線程執(zhí)行和多線程之間數(shù)據(jù)的傳遞。

“javascript多線程的實(shí)現(xiàn)方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

網(wǎng)頁標(biāo)題:javascript多線程的實(shí)現(xiàn)方法
當(dāng)前網(wǎng)址:http://www.aaarwkj.com/article40/godseo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、關(guān)鍵詞優(yōu)化、網(wǎng)站制作、ChatGPT、微信小程序、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
麻豆剧传媒国产精选av| 国产原创av超爽剧情系列 | 激情五月,开心五月深情五月| 性感91美女白丝在线精品| 天天干夜夜泡天天操| av小说亚洲激情乱| 中国一区二区三区毛片| 国产精品久久99一区| 日本一区二区中文字幕在线| 亚洲激情欧美激情在线| 91麻豆精品国产91久| 蜜臀视频在线观看免费| 中文字幕日韩有码在线| 久久精品二区亚洲w码| 天堂av免费资源在线观看 | 久久精品熟女亚洲av韩国| 亚洲国产精品一区二区av不卡| 91嫩草中文字幕在线| 亚洲一区二区天堂av| 老湿机午夜在线免费观看| 日韩在线一区二区视频| 国产精品女人毛片在线看| 亚洲日本成人一区二区| 亚洲熟妇人妻一区二区三区| 日韩精品国产专区一区| 欧美一区二区日韩一区二区| 日韩一级毛一片欧美一级| 风流少妇奶真白摸的好爽| 国产精品一区二区三区国产| 国产传媒剧情剧资源网站| 久久国产精品久久国产精品| 色花堂国产精品第二页| 一区二区少妇黄色三区| 大龄熟妇丰满有水多毛浓| 四虎久久久最新网址| 成人在线观看av毛片| 午夜性生活免费在线观看| 国产精品久久亚洲一区二区| 亚洲性图中文字幕在线| 亚洲一区二区视频在线观看免费| 欧美精品福利一区二区|