2010-06-30 24 views
2

我想知道是否有一種方法可以在Java中以類似的方式同步JavaScript中的對象/方法。我正在爲html5中的新WebSocket開發一個接口,並且需要一種將傳出請求與傳入響應進行匹配的方式。因此,我將客戶端數組中的請求(使用唯一ID)保存起來,然後在收到響應以查找匹配的請求時遍歷數組。使用javascript同步數組

客戶端可能發生的一個問題是,如果我有多個定時器獨立於彼此向服務器發送請求。如果請求函數在響應監聽器遍歷數組的同時將「請求引用」插入到數組中,那麼它肯定會中斷!

那麼我該如何解決這個問題呢?我最初的想法是簡單地將數組同步到Java中(對對象進行鎖定並強制其他函數等待),但是我沒有發現如何在JavaScript中執行此操作的語法。

回答

3

Javascript運行在瀏覽器中的單個線程中,因此不需要同步。詳情請參閱here。請參閱this SO問題和答案(爲什麼JavaScript不支持多線程?)。

+1

除非您使用工作者:請參閱https://developer.mozilla.org/en/Using_web_workers,但即使如此,您也必須非常努力地在代碼中導致問題 – Redlab 2010-06-30 08:27:31