Re: ThreadPool.QueueUserWorkItem, выполнение потоков
От: -VaS- Россия vaskir.blogspot.com
Дата: 26.01.12 14:17
Оценка:
СА>2) Задача достаточно простая: есть метод, вызываемый веб-сервером. Внутри него надо параллельно запустить еще 10 методов, дождаться их завершения (но ждать не больше 10 секунд), после чего немного обработать результаты (паралеллизм тут уже не требуется) и выйти.

        private int P1(){return 1;}
        private bool P2(){return true;}

        private void DoAll()
        {
            Task<int> task1 = Task.Factory.StartNew<int>(P1);
            Task<bool> task2 = Task.Factory.StartNew<bool>(P2);

            if (!Task.WaitAll(new Task[] { task1, task2 }, TimeSpan.FromSeconds(10)))
                throw new Exception("Timeout");

            int result1 = task1.Result;
            bool result2 = task2.Result;
        }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.