Exemple #1
0
        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");
            }
        }