Questão nº 126
Questão de Engenharia de Software · CEBRASPE TCU 25 AUFC 2025 (nº 126)
A respeito do Serverless Framework, dos padrões de integração Service Mesh e de paralelismo, julgue os itens a seguir.
Considere que três funções sejam submetidas simultaneamente a um ProcessPoolExecutor, de maneira que uma durma por 8 segundos, outra, por 3 segundos, e a outra, por 2 segundos. Considere, ainda, que, nessa circunstância, o resultado obtido seja o seguinte.
Sleeping for 8 seconds
Done sleeping for 8 seconds
Sleeping for 3 seconds
Done sleeping for 3 seconds
Sleeping for 2 seconds
Done sleeping for 2 seconds
Total time: ~13 seconds
Nessa situação, o tempo total de execução fica próximo de 8 segundos, pois esse é o tempo da thread mais longa e todas as demais terminam antes disso.
Resposta comentada
O conceito-chave é que ProcessPoolExecutor usa processos (não threads) e, ao contrário de threads, processos não são interrompidos no meio para dar vez a outro — eles rodam de forma independente. Mas a pegadinha aqui é outra: o código mostrado não é paralelo, pois as funções foram escritas com sleep sequencial (uma após a outra), e não com asyncio.sleep ou chamadas simultâneas.
- Correta: Errado. O item diz que "o tempo total de execução fica próximo de 8 segundos", mas o resultado mostrado no enunciado é de ~13 segundos, ou seja, a soma dos tempos (8+3+2), o que prova que as funções rodaram em sequência, não em paralelo.
O trecho exato que torna o item errado é: "todas as demais terminam antes disso" — isso só seria verdade se as três funções tivessem sido submetidas de forma simultânea (ex.: usando executor.map ou asyncio.gather), mas o log mostra que cada uma só começa depois que a anterior termina.
Como ficaria certo: "Nessa situação, o tempo total de execução fica próximo de 13 segundos, pois as funções rodaram em sequência, e não em paralelo, apesar do uso de ProcessPoolExecutor."
Fonte: CEBRASPE TCU 25 AUFC 2025 Auditor Federal de Controle Externo - Área de Controle Externo / Orientação: Auditoria de Tecnologia da Informação. Reproduzida para fins de estudo.