據我所知,如果我使用db.getView()從數據庫中打開視圖,那麼從不同線程多次執行此操作就沒有意義。Domino線程安全嗎?
但假設我有多個線程使用getAllDocumentsByKey()來查找視圖是否安全地這樣做並且並行遍歷DocumentCollections?
此外,如果兩個線程搜索相同的值並在其集合中具有相同的結果,則DocumentCollection中的Document.recycle()混淆會相互混淆嗎?
注意:我剛開始深入研究這個問題,但認爲這裏記錄下來會是件好事,也許我會很幸運,而且有人會得到答案。
你在問關於Java類還是COM類? – 2012-01-31 02:02:35
我想我對此並不清楚。我正在談論JAVA API – RLZaleski 2012-01-31 17:09:41
Java API同步操作,但當代碼更改與數據庫對象對應的C API對象的狀態並且在跨線程的Java對象之間共享時,它們很容易出現問題。我認爲你可以通過getAllDocumentsByKey操作來保證安全,但考慮到幕後發生的同步化,我懷疑你會以這種方式從多線程中獲得很多優勢。我可能只需要一個線程執行搜索並將集合分派給工作線程。 – 2012-02-01 02:17:03