Python: Microsoft presenta 'bocpy' para concurrencia sin bloqueos

Fuentes: boc: Behavior-Oriented Concurrency for Python

Microsoft ha lanzado 'bocpy', una nueva biblioteca para Python que introduce un paradigma de concurrencia llamado 'Behavior-Oriented Concurrency' (BOC). BOC elimina la necesidad de bloqueos (locks) tradicionales, previniendo así los problemas de interbloqueo (deadlocks) mediante un sistema de 'ownership' temporal de los datos. En lugar de gestionar explícitamente el acceso a los datos compartidos, los programadores organizan el flujo de datos a través de funciones decoradas como 'behaviors'. Esto simplifica el código, facilita el mantenimiento y mejora el rendimiento al aprovechar múltiples núcleos de procesamiento.

La biblioteca, actualmente en versión 0.5.0, se puede instalar a través de pip install bocpy. Para ilustrar su funcionamiento, Microsoft presenta un ejemplo de simulación de la preparación de una tortilla, donde cada ingrediente y utensilio se gestiona como un 'cown' (concurrent-owned variable). El código tradicional con hilos y bloqueos se vuelve complejo debido a la necesidad de gestionar explícitamente la sincronización y el orden de las operaciones. BOC, en cambio, permite que las tareas se ejecuten en paralelo de forma más intuitiva, delegando la gestión de la concurrencia a la biblioteca. El objetivo es facilitar el desarrollo de aplicaciones concurrentes más robustas y eficientes en Python.