js使用yield模擬多線程的方法簡單介紹
在python和C#中都有yield方法,通過yield可以實現(xiàn)很多多線程才能實現(xiàn)的功能。
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
聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至201542412@QQ.com舉報,一經(jīng)查實,本站將立刻刪除。
相關(guān)推薦
-
兼容低版本IE瀏覽器的Object.create()方法
關(guān)于Objct.crt()方法的基本用法可以參閱Objct.crt()一章節(jié)。但是此方法對于低版本的瀏覽器無效,比如I9以下瀏覽器。下面就介紹一下代碼實例,它實現(xiàn)了兼容效果。代碼如下
-
實現(xiàn)跨域iframe接口方法調(diào)用 簡單介紹
頁面.html域名為,嵌入頁面/b.html.b.html要調(diào)用.html中的js函數(shù),由于兩個頁面不在一個域中,會提示沒權(quán)限。下面就介紹一下如何如何解決此問題,需要的朋友可以做一下參考。一.cr
-
call()和apply()方法使用代碼實例
本章節(jié)分享幾段關(guān)于cll()和ly()方法使用的代碼實例。需要的朋友可以做一下參考,關(guān)于兩個方法的基本用法這里不做介紹,可以參閱相關(guān)閱讀。(1).cll()方法可以參閱js cll()一章
-
jQuery源碼分析之tokenize方法的Expr.preFilter
關(guān)于tokniz()方法的分析可以參閱jQury源碼分析之tokniz()方法一章節(jié)。下面再分析一下此方法的xr.rFiltr,需要的朋友可以做一下參考。代碼實例如下:xr.
-
jQuery源碼分析之select()方法
本章節(jié)對jQury源碼中的slct()實現(xiàn)進行一下分析。分析文本在源碼中,以注釋的形式存在,感興趣的朋友可以做一下參考。代碼如下:/* * slct方法是Sizzl選擇器包的核心方法之一,















