Я пойду в противоположном направлении от всех остальных - изучу (или, по крайней мере, ознакомлюсь с тем, что доступно в) pthreads.
Поскольку boost в основном является просто оболочкой для pthreads (на платформах posix), это помогает узнать, что происходит под ней.В стремлении быть универсальным, boost оставляет развернутую конкретную функциональность платформы.Чтобы добраться до него, вам нужно использовать вызовы native_handle ().Чтобы использовать вызовы native_handle (), вам нужно знать, что предлагает платформа.
Думайте об этом как о сокетах.Существуют десятки классов сокетов и фреймворков.Но в конечном итоге они обертывают API сокетов базовой платформы.Ваше понимание всегда богаче, зная его - и зная, каким образом абстракции вашего класса могут иметь короткие успехи.