本文整理汇总了C#中Lucene.Net.Index.ParallelReader.Reopen方法的典型用法代码示例。如果您正苦于以下问题:C# ParallelReader.Reopen方法的具体用法?C# ParallelReader.Reopen怎么用?C# ParallelReader.Reopen使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Lucene.Net.Index.ParallelReader
的用法示例。
在下文中一共展示了ParallelReader.Reopen方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestReferenceCountingParallelReader
public virtual void TestReferenceCountingParallelReader()
{
for (int mode = 0; mode <= 1; mode++)
{
Directory dir1 = new MockRAMDirectory();
CreateIndex(dir1, false);
Directory dir2 = new MockRAMDirectory();
CreateIndex(dir2, true);
IndexReader reader1 = IndexReader.Open(dir1);
AssertRefCountEquals(1, reader1);
ParallelReader parallelReader1 = new ParallelReader(mode == 0);
parallelReader1.Add(reader1);
IndexReader initReader2 = IndexReader.Open(dir2);
parallelReader1.Add(initReader2);
ModifyIndex(1, dir2);
AssertRefCountEquals(1 + mode, reader1);
IndexReader parallelReader2 = parallelReader1.Reopen();
// index1 hasn't changed, so parallelReader2 should share reader1 now with multiReader1
AssertRefCountEquals(2 + mode, reader1);
ModifyIndex(0, dir1);
ModifyIndex(0, dir2);
IndexReader reader2 = reader1.Reopen();
AssertRefCountEquals(2 + mode, reader1);
if (mode == 1)
{
initReader2.Close();
}
ModifyIndex(4, dir1);
IndexReader reader3 = reader2.Reopen();
AssertRefCountEquals(2 + mode, reader1);
AssertRefCountEquals(1, reader2);
parallelReader1.Close();
AssertRefCountEquals(1 + mode, reader1);
parallelReader1.Close();
AssertRefCountEquals(1 + mode, reader1);
if (mode == 1)
{
initReader2.Close();
}
reader1.Close();
AssertRefCountEquals(1, reader1);
parallelReader2.Close();
AssertRefCountEquals(0, reader1);
parallelReader2.Close();
AssertRefCountEquals(0, reader1);
reader3.Close();
AssertRefCountEquals(0, reader1);
AssertReaderClosed(reader1, true, false);
reader2.Close();
AssertRefCountEquals(0, reader1);
AssertReaderClosed(reader1, true, false);
reader2.Close();
AssertRefCountEquals(0, reader1);
reader3.Close();
AssertRefCountEquals(0, reader1);
AssertReaderClosed(reader1, true, true);
dir1.Close();
dir2.Close();
}
}