static void PrimeThread() { ReflectInsight ri = RILogManager.Default; using (ri.TraceMethod(MethodBase.GetCurrentMethod(), true)) { using (DataSet1 = new DataSet()) { DataSet1.ReadXml(String.Format(@"{0}Samples\dataset.xml", AppDomain.CurrentDomain.BaseDirectory), XmlReadMode.Auto); ri.SendMemoryStatus("Before thread launch memory status"); ri.SendLoadedAssemblies("Before thread launch loaded assemblies"); ri.SendLoadedProcesses("Before thread launch loaded processes"); ri.SendInformation("Preparing thread launch"); List <Thread> threadIds = new List <Thread>(); for (Int32 i = 0; i < 30; i++) { Thread t = new Thread(ThreadDemoBackorder); t.Start(i); threadIds.Add(t); Thread.Sleep(500 + (10 * i)); } ri.SendInformation("Waiting on threads to complete"); foreach (Thread t in threadIds) { t.Join(); } ri.AddSeparator(); MiscellaneousSample(); } ri.SendCheckmark("All threads completed successfully", Checkmark.Green); ri.SendMemoryStatus("After thread launch memory status"); ri.SendLoadedAssemblies("After thread launch loaded assemblies"); ri.SendLoadedProcesses("After thread launch loaded processes"); } }