据我所知,如果我使用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