История изменений
Исправление shkolnick-kun, (текущая версия) :
Для начала изучи документацию
Там вроде как есть atomic_dec_and_mutex_lock
на случай подсчета ссылок. Если ты серьезно хочешь заморочиться с подсчетом ссылок.
Как правильно удалить мутекс, если там будут висеть потоки?
Не удалять его до завершения всех возможных лочащих потоков.
Насколько я понимаю, структура создается в потоке, иначе не имеет смыла использовать мьютексы.
Если так, то поток, который создает структуру, должен полностью управлять ее жизненным циклом и знать обо всех потоках, которые получили доступ к указателю на эту структуру чтобы подождать их завершения, либо остановить их.
Исходная версия shkolnick-kun, :
Для начала изучи документацию
Там вроде как есть atomic_dec_and_mutex_lock
на случай подсчета ссылок. Если ты серьезно хочешь заморочиться с подсчетом ссылок.
Как правильно удалить мутекс, если там будут висеть потоки?
Не удалять его до завершения всех возможных лочащих потоков.
Насколько я понимаю, структура создается в потоке, иначе не имеет смыла использовать мьютексы.
Если так, то поток, который создает структуру должен полностью управлять ее жизненным циклом и знать обо всех потоках, которые получили доступ к указателю на эту структуру чтобы подождать их завершения, либо остановить их.