Vídeo: O que é ConfigureAwait?
2024 Autor: Lynn Donovan | [email protected]. Última modificação: 2023-12-15 23:52
ConfigureAwait (falso) envolve uma tarefa que já está concluída no momento em que é esperada (o que é realmente incrivelmente comum), então o ConfigureAwait (false) não terá sentido, pois o thread continua a executar código no método depois disso e ainda no mesmo contexto que estava lá anteriormente.
Posteriormente, também se pode perguntar, qual é o uso de ConfigureAwait false?
ConfigureAwait ( falso ) configura a tarefa para que a continuação após o await não precise ser executada no contexto do chamador, evitando, portanto, quaisquer possíveis deadlocks.
Além disso, o que é SynchronizationContext? SynchronizationContext é uma representação do ambiente atual em que nosso código está sendo executado. Ou seja, em um programa assíncrono, quando delegamos uma unidade de trabalho a outro thread, capturamos o ambiente atual e o armazenamos em uma instância de SynchronizationContext e coloque-o no objeto Tarefa.
Levando isso em consideração, para que serve ConfigureAwait?
Usando ConfigureAwait (false) para evitar deadlocks é uma prática perigosa. Deverias ter use ConfigureAwait (falso) para cada espera no fechamento transitivo de todos os métodos chamados pelo código de bloqueio, incluindo todos os códigos de terceiros e de terceiros. Usando ConfigureAwait (false) para evitar deadlock é, na melhor das hipóteses, apenas um hack).
O que é GetAwaiter?
GetAwaiter (), que retorna uma instância que possui um método GetResult (). Quando usado em uma Tarefa com falha, GetResult () propagará a exceção original (é assim que “espera tarefa;” obtém seu comportamento). GetResult () porque preserva as exceções de tarefa em vez de envolvê-las em uma AggregateException.
Recomendado:
Que tipo de memória armazena os programas e dados do sistema operacional que o computador está usando atualmente?
RAM (memória de acesso aleatório): uma forma volátil de memória que contém os sistemas operacionais, programas e dados que o computador está usando atualmente
O que é um relé de retardo de tempo que usa um circuito de cronometragem RC?
Projetos mais recentes de relés de retardo de tempo usam circuitos eletrônicos com redes resistor-capacitor (RC) para gerar um retardo de tempo e, em seguida, energizar uma bobina de relé eletromecânico normal (instantânea) com a saída do circuito eletrônico
Que tipo de algoritmo exige que o remetente e o destinatário troquem uma chave secreta que é usada para garantir a confidencialidade das mensagens?
Que tipo de algoritmo exige que o remetente e o destinatário troquem uma chave secreta que é usada para garantir a confidencialidade das mensagens? Explicação: Algoritmos simétricos usam a mesma chave, uma chave secreta, para criptografar e descriptografar dados. Esta chave deve ser pré-compartilhada antes que a comunicação possa ocorrer
Por que é importante para um programador saber que Java é uma linguagem que diferencia maiúsculas de minúsculas?
Java faz distinção entre maiúsculas e minúsculas porque usa uma sintaxe de estilo C. A distinção entre maiúsculas e minúsculas é útil porque permite inferir o que um nome significa com base em suas maiúsculas e minúsculas. Por exemplo, o padrão Java para nomes de classes é maiúsculo a primeira letra de cada palavra (Inteiro, PrintStream, etc)
Que tipo de atualização de software que trata de problemas individuais à medida que são descobertos?
Hotfix: uma atualização de software que aborda problemas individuais à medida que são descobertos