Inteligência artificial

Exigência de corrida e impasse | Blog CloudxLab

Um bom sistema precisa prometer que a quesito de corrida e o impasse não ocorram. Neste post, vamos aprender sobre Race Condition e Deadlock.

O que é uma quesito de corrida?

Quando dois processos estão competindo entre si, causando devassidão de dados.

Exigência de Corrida

Conforme mostrado no diagrama, duas pessoas estão tentando depositar 1 dólar online na mesma conta bancária. O valor inicial é de 17 dólares. Ambas as pessoas seriam capazes de ver $ 17 inicialmente. Cada um deles tenta depositar $ 1, e espera-se que o valor final seja de $ 19. Mas devido às condições da corrida, o valor final no banco é de $ 18 em vez de $ 19. Isso também é divulgado porquê leitura suja.

Por exemplo, se dois processos/threads estiverem tentando executar as seguintes condições simultaneamente, eles causarão devassidão de dados:

Tópico 1:
totalidade = num1 + num2

Tópico 2:
totalidade = num1 - num2

É muito geral que as condições de corrida passem despercebidas durante os testes, mesmo depois vários testes e revisões de código. Mas na produção haveria muitos processos e threads trabalhando paralelamente e competindo pelos mesmos recursos, e esse problema ocorreria.

O que é um Bloqueio Morto?

Quando dois processos estão esperando um pelo outro direta ou indiretamente, é chamado de impasse.

Isso geralmente ocorre quando dois processos estão esperando por recursos compartilhados adquiridos por outros. Por exemplo, se a thread T1 adquiriu o recurso R1 e também precisa do recurso R2 para realizar sua tarefa. Mas o recurso R2 é adquirido pela thread T2 que está esperando pelo recurso R1 (que é adquirido por T1).

Impasse
Impasse

Uma vez que você pode ver no segundo diagrama, o processo 1 está aguardando o processo 2, o processo 2 está aguardando a desfecho do processo 3 e o processo 3 está aguardando a desfecho do processo 1. Todos esses três processos continuariam esperando e nunca terminariam. Isso é chamado de impasse.

Quer testar seus conhecimentos com MCQs? Sinta-se livre para visitar cá. Saiba mais sobre os Cursos da CloudxLab.

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo