170 похожих чатов

Хотите рофл? Мне только что на собесе рассказывали, что std::recursive_mutex

позволяет программисту ошибаться и лочить mutex много раз, но как только вызовется один unlock, то mutex будет освобождён. То есть что там нету счётчика как на семофоре. ))

Я сказал, что это неконсистентное поведение и такого быть не может - тип по стандарту, сколько раз лочил, то сколько и нужно разлочить.

24 ответов

34 просмотра

Ну как бы это так и есть...

Ilya Zviagin
Ну как бы это так и есть...

Unlocks the mutex if its level of ownership is 1 (there was exactly one more call to lock() than there were calls to unlock() made by this thread), reduces the level of ownership by 1 otherwise. https://en.cppreference.com/w/cpp/thread/recursive_mutex/unlock

Gleb-Pylypets Автор вопроса

А, про Unlock это да, наврали...

Ну да, ты прав

Gleb-Pylypets Автор вопроса
Anatoly Shirokov
И че они?

Сказали, что потом для себя почитают, чтобы убедиться.

Anatoly Shirokov
И че они?

"мы вам перезвоним" =)

Gleb-Pylypets Автор вопроса
mefest
"мы вам перезвоним" =)

Ну нах, он лучше нас в плюсы рубит :)))

Gleb Pylypets
Сказали, что потом для себя почитают, чтобы убедит...

На самом деле это не так уж страшно, если они линуксоиды, они никогда рекурсивные мьютексы и не видели даже. Ну. не использовали.

Anatoly Shirokov
Что за гон?

Ну не применяют рекурсивные мьютексы в Лине, хотя они даже там и есть.

Ilya Zviagin
Ну не применяют рекурсивные мьютексы в Лине, хотя ...

вообще? во всех ПО? или ты про что то конкретное?

mefest
вообще? во всех ПО? или ты про что то конкретное?

Ну да, традиционно их там сначала не было , потом все привыкли, а потом завезли рекурсивные. Может я что и путаю, но факт, что культура такая. Традиции.

Anatoly Shirokov
Что-то новое ты несешь

Так, помнится, в Лине нативные рекурсивные мьютексы - не сильно популярная штука, а на винде ядерный MUTANT (он же основа мьютекса) рекурсивен по определению

Dmitriy [Отпуск]
Так, помнится, в Лине нативные рекурсивные мьютекс...

а что там за API? В POSIX PTHREAD_MUTEX_RECURSIVE был в начальной спецификации изначально

Anatoly Shirokov
а что там за API? В POSIX PTHREAD_MUTEX_RECURSIVE ...

Это да, но - в отличие от винды - в posix есть нерекурсивные мьютексы

Dmitriy [Отпуск]
Это да, но - в отличие от винды - в posix есть нер...

ну, это на здоровье. тогда не понятна логика интервьеров

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта