class AAA
{
...
~AAA()
{
pthread_mutex_lock(&m_mutex);
pthread_mutex_destroy(&m_mutex);
}
}
Domanda> Ho visto questo codice da qualche parte in un progetto. È buona pratica farlo? Oppure è un comportamento non definito bloccare un mutex prima di distruggerlo?È buona norma bloccare un mutex pthread prima di distruggerlo?
Se si sente il bisogno di bloccarlo, dovrebbe implicare che un altro thread potrebbe tentare di richiederlo. Cosa succederebbe a quel thread quando il mutex fu distrutto ?. –
@JanPetterJetmundsen, non ho scritto il codice e ho bisogno di capirne il motivo. – q0987
Non è definito. @JanPetterJetmundsen ha ragione. Non è una buona pratica bloccare il mutex prima di distruggerlo, anche se nella maggior parte delle implementazioni non fa nulla di sbagliato. –