semáforos em java

Aqui eu deixo um exemplo para o modelo usando um semáforo:

com a classe Hilo declarada como classe interna não é necessária para explicar a referência a Tuberia porque tem acesso a Os métodos da classe pai.

O contador está incluído em blocos curtos sincronizados para garantir que os eventos sejam impressos na sequência que ocorrem.

O semáforo no exemplo limita o Número de threads que têm acesso ao código entre acquire e release.

a principal diferença entre as duas implementações é que com o semáforo há um número de encadeamentos que podem acessar o código simultaneamente enquanto o método sincronizado garante que apenas um thread possa acessar este bloco de código, tornando-o uma ação atômica.

Se isso Nem um sentido não é visível em um exemplo básico, sem pensar que é realmente o trabalho que eles fazem os tópicos e quais recursos eles precisam para isso.

Experimente o comportamento, mude pausas na geração de novas fios, o número de fios, a quantidade de permissões ou tempo aleatório para a carga do código.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *