java - Lucene:由于我只使用一个线程,因此删除其源代码中的所有锁是否安全?

标签 java lucene

我正在尝试构建一个Lucene演示,整个项目仅使用一个线程进行写入,另一个线程进行读取。

我想减少Lucene内部任何可能的成本,所以我想知道删除所有锁获取是否安全?

例如

IndexWriter中:writeLock = lockDir.obtainLock(WRITE_LOCK_NAME);

SimpleFSDirectory中:this(path, FSLockFactory.getDefault());

最佳答案

只是不要这样做。如果您有一个线程,您将不会注意到获取锁的任何开销。对 CPU 周期和 IO 人员进行编程比您想要优化的人员花费的时间要多得多。

关于java - Lucene:由于我只使用一个线程,因此删除其源代码中的所有锁是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47608883/

相关文章:

java - 链表内存泄漏

java - Solr分页性能

java - 明明使用solr出现 'Lock obtain timed out'怎么解决?

搜索词建议

Solr 英语同义词标准列表

c# - 如何为 lucene 添加多个 AND bool 查询

java - 由于 PostgreSQL 数据库上的 "duplicate"索引,Liquibase 无法执行迁移

java - 在 Java 中的 Foreach 循环外声明变量

java - Spring security-在 rest 服务中将凭据作为 json 而不是常规形式发送

java - 从配置文件解析 Yaml