示例#1
0
        public void MultiThreadsMultiLogsTest()
        {
            Threads                 = new Thread[MaxThreads];
            ManualResetEvents       = new ManualResetEvent[MaxThreads];
            SmartLogGeneratorsArray = new SmartLogGenerator[MaxThreads];
            for (int threadIndex = 0; threadIndex < MaxThreads; threadIndex++)
            {
                string smartLoggerTestName = GetSmartLoggerTestName("MultiThreadsMultiLogsTest",
                                                                    threadIndex);
                SmartLoggerPerType <SmartLoggerTests> smartLoggerPerType = CreateSmartLoggerPerType(smartLoggerTestName);
                SmartLogGeneratorsArray[threadIndex] = CreateSmartLogGenerator(smartLoggerTestName,
                                                                               smartLoggerPerType);
                ManualResetEvents[threadIndex] = SmartLogGeneratorsArray[threadIndex].ManualResetEvent;
                Threads[threadIndex]           = CreateThread(SmartLogGeneratorsArray[threadIndex]);
                Threads[threadIndex].Start();
                Thread.Sleep(200);
            }

            // ReSharper disable once CoVariantArrayConversion
            WaitHandle.WaitAll(ManualResetEvents);

            for (int threadIndex = 0; threadIndex < MaxThreads; threadIndex++)
            {
                SmartLogGenerator smartLogGenerators = SmartLogGeneratorsArray[threadIndex];
                smartLogGenerators?.Dispose();
            }
        }
示例#2
0
        public void CurrentThreadTest()
        {
            string smartLoggerPerTypeName = GetSmartLoggerTestName("CurrentThreadTest",
                                                                   0);
            SmartLoggerPerType <SmartLoggerTests> smartLoggerPerType = CreateSmartLoggerPerType(smartLoggerPerTypeName);
            SmartLogGenerator smartLogGenerator = CreateSmartLogGenerator(smartLoggerPerTypeName,
                                                                          smartLoggerPerType);

            Assert.NotNull(smartLogGenerator);
            smartLogGenerator.ThreadCallback();
            smartLogGenerator.Dispose();
        }