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

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一区二区三区| 日韩在线中文字幕一区| 丰满人妻的诱惑中文字幕| 日本高清区一区二区三区四区五区 | 国产原创中文剧情性感av| 99热在线免费观看精品| 国产女主播在线观看视频| 夜夜草av一区二区三区| 日韩人妻精品久久免费| 国产又粗又爽视频免费| 少妇高潮试看二十分钟| 国产精品久久一国产精品| 天天操夜夜夜夜夜操| 农村精品少妇久久久久久| 国产欧美日韩在线高清| 国产污视频网站在线观看| 四虎官网免费在线观看| 日韩亚洲欧美成人一区| 午夜一区二区精品视频国产 | 亚洲日日夜夜噜噜爽爽| 亚洲欧美日韩精品一区二| 国产精品一品二区三区在线观看| 久久精品一区欧美成人| 婷婷亚洲五月伊人91| 不用播放器的av蜜臀| 在线一区免费视频播放| 欧美精品一区二区网址| 日韩国产在线一区二区| 亚洲熟女av综合网五月| 日本经典三级在线视频| 久久国产精品亚洲熟女66r| 欧美国产日韩激情在线| 成人中文字幕日韩电影| 禁区正片免费看完整国产| 国产区青青操自拍视频| 精品国产精品中文字幕|