Реализация std :: atomic или std :: mutex - PullRequest
1 голос
/ 30 марта 2019

Чтобы узнать больше о многопоточном программировании, я решил реализовать собственную версию некоторого низкоуровневого объекта памяти. Из-за этого я взглянул на std::mutex и был довольно напуган и смущен его определением (по сравнению с моим стилем это довольно загадочно, и мне не удается отследить простые вещи, такие как определения функций). Итак, я решил вместо этого взглянуть на std::atomic, а заголовок - колоссальные 1400 строк. Также кажется, что большая часть кода ссылается на «более глубокие» механизмы, если это имеет смысл. Использует заголовочный файл <bit>, а std::mutex заполняется включенным макросом.

Прежде чем я продолжу, является ли реализация чего-либо из этого практической целью без эзотерических знаний? Должен ли я оставить это авторам компилятора?

...