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

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://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自拍在线免费观看| 午夜看片福利欧美熟女| 精品国产一区二区三区四不卡在线| 熟女人妻视频一区二区| 日本东京热二三四区不卡免费的| 国产中文精品字幕a区| 岛国免费av在线观看| 亚洲成人av日韩在线| 国产精品久久久久精品三级中文国 | 亚洲av成人免费在线| 久久熟妇少妇亚洲精品| 中国一级黄片免费欧美| 夫妻在线观看高清视频| 91欧美在线激情视频| 97视频精品在线播放| 91久久国产香蕉熟女| 黄片小视频在线免费播放| 日本熟妇色在线视频不卡| 国模在线视频一区二区| 无套内射精品一区二区| 麻豆色视频在线观看免费| 亚洲精品中文一区二区三区| 成人黄色av免费在线观看| 九九热精品在线观看视频| 欧美日韩国产亚洲免费| 日韩欧美一区二区福利视频| 久久国产麻豆精品电影| 在线中文字幕日韩有码| 国产精品成人免费久久黄| 国产一区二区黄色录像| 日日嗨av特一级黄淫片| 国产视频成人免费观看| 81精品国产综合久久精品伦理| 久久精品资源综合网| 四虎永久精品国产毛片| 日本道视频一区二区三区| 日本精品人妻一区二区三区蜜桃| 粉嫩一区二区三区精品视频|