public virtual void  TestTermPositionVectors(IndexReader reader, int threadCount)
        {
            MultiThreadTermVectorsReader[] mtr = new MultiThreadTermVectorsReader[threadCount];
            for (int i = 0; i < threadCount; i++)
            {
                mtr[i] = new MultiThreadTermVectorsReader();
                mtr[i].Init(reader);
            }


            /** run until all threads finished */
            int threadsAlive = mtr.Length;

            while (threadsAlive > 0)
            {
                //System.out.println("Threads alive");
                System.Threading.Thread.Sleep(new System.TimeSpan((System.Int64) 10000 * 10));
                threadsAlive = mtr.Length;
                for (int i = 0; i < mtr.Length; i++)
                {
                    if (mtr[i].IsAlive() == true)
                    {
                        break;
                    }

                    threadsAlive--;
                }
            }

            long totalTime = 0L;

            for (int i = 0; i < mtr.Length; i++)
            {
                totalTime += mtr[i].timeElapsed;
                mtr[i]     = null;
            }

            //System.out.println("threadcount: " + mtr.length + " average term vector time: " + totalTime/mtr.length);
        }
		public virtual void  TestTermPositionVectors(IndexReader reader, int threadCount)
		{
			MultiThreadTermVectorsReader[] mtr = new MultiThreadTermVectorsReader[threadCount];
			for (int i = 0; i < threadCount; i++)
			{
				mtr[i] = new MultiThreadTermVectorsReader();
				mtr[i].Init(reader);
			}
			
			
			/** run until all threads finished */
			int threadsAlive = mtr.Length;
			while (threadsAlive > 0)
			{
				//System.out.println("Threads alive");
				System.Threading.Thread.Sleep(new System.TimeSpan((System.Int64) 10000 * 10));
				threadsAlive = mtr.Length;
				for (int i = 0; i < mtr.Length; i++)
				{
					if (mtr[i].IsAlive() == true)
					{
						break;
					}
					
					threadsAlive--;
				}
			}
			
			long totalTime = 0L;
			for (int i = 0; i < mtr.Length; i++)
			{
				totalTime += mtr[i].timeElapsed;
				mtr[i] = null;
			}
			
			//System.out.println("threadcount: " + mtr.length + " average term vector time: " + totalTime/mtr.length);
		}