lotus-notes - Domino 线程中的 View 安全吗?

标签 lotus-notes lotus-domino

据我了解,如果我使用 db.getView() 从数据库打开 View ,则从不同线程多次执行此操作是没有意义的。

但是假设我有多个线程使用 getAllDocumentsByKey() 搜索 View ,这样做并并行迭代 DocumentCollections 是否安全?

此外,Document.recycle() 会与 DocumentCollection 混淆,如果两个线程搜索相同的值并在其集合中获得相同的结果,这会互相混淆吗?

注意:我刚刚开始深入研究这个问题,但认为在这里记录是一件好事,也许我会很幸运,有人会得到答案。

最佳答案

Domino Java API 并不真正喜欢跨线程共享对象。如果在一个线程中 recycle() 一个 View ,它将删除引用该 View 的所有对象的后端 JNI 引用。

所以你会发现你的其他线程被破坏了。

Bob Balaban 写了一系列关于 Java API 如何工作和回收的非常好的文章。这是其中一部分的链接。

http://www.bobzblog.com/tuxedoguy.nsf/dx/geek-o-terica-5-taking-out-the-garbage-java?opendocument&comments

关于lotus-notes - Domino 线程中的 View 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9073165/

相关文章:

lotus-notes - 莲花笔记 : Move email to a folder

lotus-notes - 我们可以在 Lotus Notes 中合并两个 .NSF 文件吗

javascript - XPage 链接 URL 在 Notes 客户端中不起作用

android - 截击网络 ImageView 和请求 header

java - Domino JVM 内存和 POI

lotus-notes - @command([ToolsRefreshAllDocs]) 在 Lotus Notes 中不起作用

sql-server - 从 MS SQL 数据库获取数据到 Lotus Notes 数据库

java - Lotus从数据库获取字段

javascript - 处理@DBLookup中的空值

java - Java 脚本库中的 NullPointerException