private static void CreateWriteThreads(ISimpleDictionary simpleDictionary, out Thread[] writeThreads, out BenchThreadParams[] writeThreadParameters) { const int writeThreadsCount = 2; const int writeValuesCount = 10_000; writeThreads = new Thread[writeThreadsCount]; writeThreadParameters = new BenchThreadParams[writeThreadsCount]; for (int i = 0; i < writeThreadsCount; i++) { var readThread = new Thread(BenchmarkThread) { Name = $"Write thread #{i + 1}" }; var writeList = Enumerable .Range(i * writeValuesCount, writeValuesCount) .Select(value => value * 100) .ToList(); var readThreadParameter = new BenchThreadParams(simpleDictionary, 0, writeList, true); writeThreads[i] = readThread; writeThreadParameters[i] = readThreadParameter; } }
private static void CreateReadThreads(ISimpleDictionary simpleDictionary, out Thread[] readThreads, out BenchThreadParams[] readThreadParameters) { const int readThreadsCount = 12; const int readValuesCount = 1_000_000; readThreads = new Thread[readThreadsCount]; readThreadParameters = new BenchThreadParams[readThreadsCount]; for (int i = 0; i < readThreadsCount; i++) { var readThread = new Thread(BenchmarkThread) { Name = $"Read thread #{i + 1}" }; var readThreadParameter = new BenchThreadParams(simpleDictionary, 0, Enumerable.Range(i * readValuesCount, readValuesCount).ToList(), false); readThreads[i] = readThread; readThreadParameters[i] = readThreadParameter; } }