Mutex C++

En C++11 se han introducido muchas mejoras que nos ayudan a desarrollar sistemas multi-hilo. Voy a centrarme en los mutex.

En las versiones anteriores a C++11 una forma de obtener un mutex es el que nos proporciona la librería pthread, pero para utilizarlo debíabos inicializarlo y destruirlo en estilo C, en definitiva, tienes que hacer algo más que lock/unlock cada vez que trabajas con un mutex.

C++11 nos proporciona una clase mutex, que nos abstrae de cosas que no son lock/unclock. Os recomiendo que echéis un vistazo y veáis lo limpio que queda el código: Clase mutex de C++11.

Si sigues trabajando con versiones de compiladores previos a C++11, hace tiempo me hice un wrapper que te ayuda a abstraerte del mutex de pthread, lo dejo aquí abajo por si a alguien le resulta útil.

Abajo está un Gist del Código, he vuelto a escribir el código de cabeza y puede ser que haya algún error, lo revisaré, pero lo importante es la idea de hacer una clase que envuelva la inicialización del mutex de pthread.

Comentarios