pthread_mutex_lock pthread_join pthread_create pthread example c++ pthreads

c++ - pthread_join - pthread_mutex_lock



¿Es una buena práctica bloquear un mutex pthread antes de destruirlo? (2)

Este link dice su comportamiento indefinido.

Tal vez desde donde vio este código, el codificador original quería destruir el mutex y podría haber pensado que si él / ella podría bloquear ese mutex, eso significa que está desbloqueado en algún otro lugar por algún hilo importante, y por lo tanto puede eliminar eso.

Pero está implementado incorrectamente.

class AAA { ... ~AAA() { pthread_mutex_lock( &m_mutex ); pthread_mutex_destroy( &m_mutex ); } }

Pregunta> Vi este código en algún lugar de un proyecto. ¿Es una buena práctica hacerlo? ¿O es un comportamiento indefinido bloquear un mutex antes de destruirlo?