Uma barreira é uma construção comum encontrada em várias bib...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: B
Para resolver essa questão sobre barreiras em programação paralela, é imprescindível o conhecimento sobre sincronização entre processos e threads. Barreiras são pontos de sincronização onde as threads ou processos não podem prosseguir até que todos tenham atingido esse ponto de parada. Vamos entender porque a alternativa B é a incorreta:
A alternativa B menciona a rotina de recepção de mensagem (receive) bloqueante como exemplo de barreira implícita. No entanto, é um equívoco considerá-la como tal. Uma operação de recepção bloqueante em comunicação entre processos não é uma barreira por si só, pois não garante que outros processos ou threads alcancem um determinado ponto de execução para sincronização. Ela serve para esperar uma mensagem de outro processo, sem implicar que todos os outros processos estejam sincronizados nesse ponto.
Essa particularidade é o que distingue uma operação de recepção bloqueante de uma verdadeira barreira. Em uma barreira, todos os participantes devem chegar até ela, igualmente, antes de qualquer um deles prosseguir. Portanto, a alternativa B apresenta um conceito que não corresponde à definição de barreira, fazendo dela a resposta incorreta para a questão.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo