JavaScript使用yield模擬多線程的方法
本文實(shí)例講述了JavaScript使用yield模擬多線程的方法。分享給大家供大家參考。具體分析如下:
在python和C#中都有yield方法,通過(guò)yield可以實(shí)現(xiàn)很多多線程才能實(shí)現(xiàn)的功能。
對(duì)javascript有版本要求:JavaScript 1.7
function Thread( name ) {
for ( var i = 0; i < 5; i++ ) {
Print(name+': '+i);
yield;
}
}
//// thread management
var threads = [];
// thread creation
threads.push( new Thread('foo') );
threads.push( new Thread('bar') );
// scheduler
while (threads.length) {
var thread = threads.shift();
try {
thread.next();
threads.push(thread);
} catch(ex if ex instanceof StopIteration) {}
}
上面代碼輸入結(jié)果如下:
foo: 0 bar: 0 foo: 1 bar: 1 foo: 2 bar: 2 foo: 3 bar: 3 foo: 4 bar: 4
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
相關(guān)文章
使用微信小程序開(kāi)發(fā)彈出框應(yīng)用實(shí)例詳解
本文通過(guò)實(shí)例代碼給大家介紹了使用微信小程序開(kāi)發(fā)彈出框功能,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10
JavaScript常見(jiàn)鼠標(biāo)事件與用法分析
這篇文章主要介紹了JavaScript常見(jiàn)鼠標(biāo)事件與用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了javascript 8種常見(jiàn)的鼠標(biāo)事件與相關(guān)使用技巧,需要的朋友可以參考下2019-01-01
three.js 利用uv和ThreeBSP制作一個(gè)快遞柜功能
這篇文章主要介紹了three.js 利用uv和ThreeBSP制作一個(gè)快遞柜,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
JS 實(shí)現(xiàn)隨機(jī)驗(yàn)證碼功能
驗(yàn)證碼驗(yàn)證是網(wǎng)頁(yè)常出現(xiàn)的一個(gè)驗(yàn)證點(diǎn),所謂驗(yàn)證碼類(lèi)型有很多,下面代碼只是實(shí)現(xiàn)一個(gè)簡(jiǎn)單的驗(yàn)證功能,需要的朋友參考下2017-02-02
微信小程序填寫(xiě)用戶(hù)頭像和昵稱(chēng)實(shí)現(xiàn)方法淺析
這篇文章主要介紹了微信小程序填寫(xiě)用戶(hù)頭像和昵稱(chēng)實(shí)現(xiàn)方法,我們使用小程序往往能碰到提示允許獲取用戶(hù)頭像昵稱(chēng),這種功能怎么實(shí)現(xiàn)呢?本篇文章帶你探索2023-02-02
使用JavaScript判斷手機(jī)瀏覽器是橫屏還是豎屏問(wèn)題
這篇文章主要介紹了使用JavaScript判斷手機(jī)瀏覽器是橫屏還是豎屏問(wèn)題的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08
JavaScript實(shí)現(xiàn)瀑布流圖片效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)瀑布流圖片效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
JavaScript this綁定與this指向問(wèn)題的解析
本文主要介紹了JavaScript this綁定與this指向問(wèn)題的解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02

