Lar Desenvolvimento O que é sincronização de threads? - o que é techopedia

O que é sincronização de threads? - o que é techopedia

Índice:

Anonim

Definição - O que significa Sincronização de Threads?

A sincronização de encadeamentos é a execução simultânea de dois ou mais encadeamentos que compartilham recursos críticos. Os encadeamentos devem ser sincronizados para evitar conflitos críticos no uso de recursos. Caso contrário, poderão surgir conflitos quando threads de execução paralela tentarem modificar uma variável comum ao mesmo tempo.

Techopedia explica sincronização de threads

Para esclarecer a sincronização de threads, considere o seguinte exemplo: três threads - A, B e C - são executados simultaneamente e precisam acessar um recurso crítico, Z. Para evitar conflitos ao acessar Z, os threads A, B e C devem ser sincronizados . Assim, quando A acessa Z e B também tenta acessar Z, o acesso de Z a B deve ser evitado com medidas de segurança até que A termine sua operação e saia de Z.


Em Java, duas estratégias de sincronização são usadas para evitar interferência de encadeamento e erros de consistência de memória:

  • Método sincronizado: inclui a palavra-chave sincronizada em sua declaração. Quando um thread chama um método sincronizado, o método sincronizado adquire automaticamente o bloqueio intrínseco para o objeto desse método e o libera quando o método retorna, mesmo que esse retorno tenha sido causado por uma exceção não capturada.
  • Instrução sincronizada: declara um bloco de código a ser sincronizado. Diferentemente dos métodos sincronizados, as instruções sincronizadas devem especificar os objetos que fornecem o bloqueio intrínseco. Essas instruções são úteis para melhorar a simultaneidade com sincronização refinada, pois permitem evitar bloqueios desnecessários.

O que é sincronização de threads? - o que é techopedia