2010-05-01 61 views
1

或多或少我想並行執行兩個函數。 我看到的一種方法是通過SetTimeOut函數來完成。如何在Java腳本中獲得並行行爲?

我還沒有完全通過ReactiveExentension,雖然它看起來很有希望,但可能是爲我的需要矯枉過正。

有支持並行性的框架嗎?

我的用例是微不足道的,但我想知道是否有人在Java Script中嚴重需要並行性?

謝謝比斯瓦納特。

+2

基於瀏覽器的JavaScript沒有真正的並行性,它本質上是單線程的。你可以得到異步行爲,'setTimeout()'在這裏也不例外。 – Tomalak 2010-05-01 13:07:54

回答

1

你可以閱讀這篇文章,在這裏,它談論線程:http://blog.monstuff.com/archives/000315.html

+2

請注意,本文正在討論JavaScript 1.7的生成器函數,並且它們不適用於大多數瀏覽器(如果基於瀏覽器的代碼是需要的)。 – 2010-05-01 13:02:08

2

你不打算設法把你的程序到一個新的線程,除非瀏覽器可以讓你做到這一點的唯一途徑,我可以看看是否合理(假設瀏覽器沒有提供某些特定的JavaScript擴展)是否會爲每個框架創建一個新的線程/進程。也就是說,通過將兩個腳本放入不同的框架或同時將兩個腳本同時並行運行,或者可以將兩個腳本並行運行。只需在您的網頁上創建多個不可見的iframe,然後使用您自己的JavaScript函數加載一個HTML文檔。你不能告訴任何這些頁面開始處理某些東西,但是你可以讓他們輪詢頂部窗口做些事情,然後做它們的事情,然後在完成時告訴頂部窗口。

只是一個想法。