Я смотрю на TPL обработки исключений пример из MSDN @MSDN Пример обработки исключения из TPL - это условие гонки?
http://msdn.microsoft.com/en-us/library/dd537614(v=VS.100).aspx
Основной вид кода:
Task task1 = Task.Factory.StartNew(() => { throw new IndexOutOfRangeException(); });
try
{
task1.Wait();
}
catch (AggregateException ae)
{
throw ae.Flatten();
}
Мой вопрос: Является ли это состояние гонки? Что произойдет, если task1 выкинет до того, как попытается выполнить? Я пропустил что-то, что перестало быть гонкой?
Не должно быть написано, как это вместо:
try
{
Task task1 = Task.Factory.StartNew(() => { throw new IndexOutOfRangeException(); });
task1.Wait();
}
catch (AggregateException ae)
{
throw ae.Flatten();
}