Je regarde l'exemple de la gestion des exceptions TPL MSDN @MSDN Exemple de gestion d'une exception du TPL - S'agit-il d'une condition de concurrence?
http://msdn.microsoft.com/en-us/library/dd537614(v=VS.100).aspx
La forme de base du code est:
Task task1 = Task.Factory.StartNew(() => { throw new IndexOutOfRangeException(); });
try
{
task1.Wait();
}
catch (AggregateException ae)
{
throw ae.Flatten();
}
Ma question est: Est-ce une condition de course? Que se passe-t-il si task1 est lancé avant que l'essai ne soit exécuté? Est-ce que je manque quelque chose qui empêche que ce soit une course?
devrait-il pas écrit comme ceci:
try
{
Task task1 = Task.Factory.StartNew(() => { throw new IndexOutOfRangeException(); });
task1.Wait();
}
catch (AggregateException ae)
{
throw ae.Flatten();
}