Пример #1
0
        /// <summary>
        /// Makes 5 async requests
        /// Makes 5 sync requests
        /// Stop all requests with FileLinesCheckerWithQueue.Cancel call
        /// Makes 5 async requests
        /// Makes 5 sync requests
        /// Reset FileLinesCheckerWithQueue instance
        /// Makes 5 async requests
        /// Makes 5 sync requests
        /// Waits 1 sec
        /// Dispose FileLinesCheckerWithQueue instance
        /// </summary>
        private static void LineTest()
        {
            // TODO: ?
            using (FileLinesCheckerWithQueue checker
                       = new FileLinesCheckerWithQueue(FILE_NAME))
            {
                Console.WriteLine("5 Async Requesting");
                for (Int32 i = 0; i < 5; i++)
                {
                    AsyncRequest(checker);
                }
                Console.WriteLine("5 Sync Requesting");
                for (Int32 i = 0; i < 5; i++)
                {
                    SyncRequest(checker);
                }

                CancelChecker(checker);

                Console.WriteLine("5 Async Requesting");
                for (Int32 i = 0; i < 5; i++)
                {
                    AsyncRequest(checker);
                }
                Console.WriteLine("5 Sync Requesting");
                for (Int32 i = 0; i < 5; i++)
                {
                    SyncRequest(checker);
                }

                ResetChecker(checker);

                Console.WriteLine("5 Async Requesting");
                for (Int32 i = 0; i < 5; i++)
                {
                    AsyncRequest(checker);
                }
                Console.WriteLine("5 Sync Requesting");
                for (Int32 i = 0; i < 5; i++)
                {
                    SyncRequest(checker);
                }

                Thread.Sleep(1000);
            }
        }
Пример #2
0
        /// <summary>
        /// Makes 50 random calls to the FileLinesCheckerWithQueue methods
        /// All calls make from the different threads
        /// Waits 1 sec
        /// Dispose FileLinesCheckerWithQueue instance
        /// </summary>
        private static void RandomTest()
        {
            //TODO: ?
            using (FileLinesCheckerWithQueue checker
                       = new FileLinesCheckerWithQueue(FILE_NAME))
            {
                for (Int32 i = 0; i < 50; i++)
                {
                    switch (random.Next(10))
                    {
                    case 1:
                        ResetAsync(checker);
                        break;

                    case 2:
                        CancelAsync(checker);
                        break;

                    default:
                    {
                        if (i % 2 == 1)
                        {
                            // Request from new thread
                            AsyncSyncRequest(checker);
                        }
                        else
                        {
                            // Async request from new thread
                            AsyncAsyncRequest(checker);
                        }
                    }
                    break;
                    }
                }

                Thread.Sleep(1000);
            }
        }