Lar Desenvolvimento O que é uma declaração de bloqueio? - o que é techopedia

O que é uma declaração de bloqueio? - o que é techopedia

Índice:

Anonim

Definição - O que significa a Instrução Lock?

Uma instrução de bloqueio, em C #, é uma instrução que contém a palavra-chave "bloqueio" e é usada em aplicativos multithread para garantir que o thread atual execute um bloco de código até a conclusão, sem interrupção por outros threads. A instrução lock obtém um bloqueio de exclusão mútua para um determinado objeto, para que um thread execute o bloco de código por vez e saia do bloco de código após liberar o bloqueio.

A instrução lock é uma construção de bloqueio exclusiva usada para garantir o acesso sincronizado aos dados compartilhados em aplicativos multithread. Ajuda a proteger a integridade de um recurso mutável que é compartilhado por vários threads, sem criar interferência entre esses threads. A instrução lock pode ser usada por um objeto singleton para impedir o acesso simultâneo de seus dados comuns por vários clientes.

A instrução lock é a primitiva de sincronização principal disponível na Biblioteca de Classes do .NET Framework. Ele gera automaticamente um código consistente e seguro para exceções, capaz de lidar com as necessidades de sincronização em programas multithread. Ele também fornece um método fácil de controlar a sincronização, gerando código eficiente, o que evita erros que podem ser causados ​​por código escrito manualmente.

Techopedia explica a declaração de bloqueio

A instrução lock deve ser fornecida com um argumento do tipo de referência, não do tipo de valor. Em geral, é recomendável bloquear um membro da instância privada ou membro estático privado para proteger os dados compartilhados entre todas as instâncias do objeto. Como o bloqueio de tipos públicos ou instâncias que estão fora do controle do código pode resultar em situações de conflito em que vários encadeamentos aguardam o lançamento de um único objeto usado para uma instrução de bloqueio, eles devem ser evitados.


Um exemplo para o uso do extrato de bloqueio pode ser um aplicativo multithread no qual um objeto de conta com um método para retirar um saldo usa o extrato de bloqueio para impedir que vários threads executem o mesmo método simultaneamente, o que poderia levar o saldo a um número negativo .


O corpo de uma instrução de bloqueio precisa ser pequeno para reduzir o tempo necessário para outros threads aguardarem no bloqueio, diminuindo as chances de conflito e minimizando a possibilidade de ocorrência de uma exceção.


As limitações no uso de instruções de bloqueio incluem que elas só podem ser usadas com dados relevantes para o aplicativo atual. As instruções de bloqueio também não podem suportar um tempo limite.

Esta definição foi escrita no contexto de C #
O que é uma declaração de bloqueio? - o que é techopedia