如果我想从同一个IndexReader实例读取,可能是单个实例,从多个线程读取会对性能产生什么影响?是否会出现“读锁定”或任何可能会影响多线程可能性的事情?< / p>
在多线程环境中使用相同的IndexReader是否有最佳实践?
答案 0 :(得分:2)
IndexReader instances are completely thread safe, meaning multiple threads can call any
of its methods, concurrently. If your application requires external synchronization,
you should not synchronize on the IndexReader instance; use your own (non-Lucene)
objects instead.
但是您要考虑的另一件事是,如果索引重定向器由多个线程共享,并且在该过程中索引会更新,则在您创建新的索引重定向器实例之前,更新的索引不会反映出来。