tutorial programming español asyncio async python api blocking

python - programming - ¿Qué significa el término "bloqueo" en la programación?



queue python 3 (2)

"Bloquear" significa que la persona que llama espera hasta que la persona que llama termina su procesamiento. Por ejemplo, una "lectura de bloqueo" de un socket espera hasta que haya datos para devolver; una lectura "no bloqueante" no lo hace, simplemente devuelve una indicación (generalmente un conteo) de si había algo leído.

Usted escucha el término principalmente en torno a las API que acceden a recursos que no requieren necesariamente atención de la CPU, por ejemplo, I / O. También lo escucha en subprocesos múltiples: una llamada desde el subproceso A al subproceso B podría diseñarse para "bloquear" (retener el subproceso A) hasta que el subproceso B alcance el estado relevante para procesar o al menos acepte la solicitud. (El ejemplo más obvio es "join", que generalmente significa "I, Thread A, quiero esperar hasta que Thread B haya terminado": lo utilizas al salir de un programa de múltiples subprocesos).

¿Podría alguien proporcionar una definición de laico y un caso de uso?


En palabras sencillas: si llama a una función que impide que el programa continúe ejecutándose hasta que el usuario haya realizado alguna acción (o alguna otra acción que su programa no esté controlando), esta llamada se llama una llamada de bloqueo.