Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

Sintomas

O quadro 4.6. .NET adicionado um valor de tipo de enum novo, RunContinuationsAsynchronously, enums de TaskCompletionSource e TaskCreationOptions . Este valor obriga a tarefas para executar de forma assíncrona, e isto ajuda a evitar situações de impasse. No entanto, foi descoberto um problema em que, para alguns tipos específicos de continuations (em especial quando Task.WhenAll, Task.WhenAnyou TaskExtensions.Unwrap criar os continuations), a opção é ignorada. Por conseguinte, continuations pode ainda execução síncrona.

O exemplo seguinte mostra o problema. Se o valor de RunContinuationsAsynchronously foram funcionar correctamente, o thread de dois IDs são impressos saída nunca seria iguais, uma vez que a continuação será sempre agendada para diferentes threads.

using System;using System.Threading;
using System.Threading.Tasks;

class Program
{
static void Main()
{
var mres = new ManualResetEventSlim();

Console.WriteLine(Environment.CurrentManagedThreadId);

var tcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);

var t = Task.WhenAll(tcs.Task);

t.ContinueWith(delegate
{
Console.WriteLine(Environment.CurrentManagedThreadId);
mres.Set();
}, TaskContinuationOptions.ExecuteSynchronously);

tcs.SetResult(true);
mres.Wait();
}
}

Resolução

Não existe actualmente nenhuma solução para este problema. A equipa do Microsoft .NET Framework está a trabalhar numa solução para incluir numa actualização futura.


Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×