Подскажите пожалуйста, существует ли в природе динамически подключаемая си-библиотека для синхронизации потоков в наиболее быстрой для среды исполнения реализации. То-есть для linux(>2.6) — Futex, win32 — Critical section, etc? или я не правильно понимаю «физику процесса» и такого не может быть в принципе, то-есть это необходимо реализовывать в коде программы?
Критично именно C или C++ тоже можно? С C++ в этом плане гораздо проще. Да и непонятно требование именно динамической библиотеки, чем Вам статика не угодила?
Насчёт C++. На безрыбье и рак рыба как известно, и если не найду подобного на си, буду использовать либу на С++. Но честно говоря, не вижу особого смысла в библиотеке написанной на С++, которая является обёрткой к вызовам API написанного на си, из программы написанной на си. Лишний объём в откомпилированном виде, а следовательно и в итоговом ПО.
Насчёт выбора типа библиотеки. Странный вопрос. Конечно же ради модульности, возможности своевременного обновления нужного функционала по частям, меньшего размера занимаемого всем программным пакетом целиком.
Про размер это шутка? Статика от динамики не отличается ничем, и если в линуксе это еще решаемо наличием библиотек в общем пуле, то в Винде и Макоси и то и то будет частью поставки.
В стандарте C++11 есть thread, mutex, conditional_variable, future и т.д. Используйте на здоровье. Или boost::thread или just::thread. Если по каким-то причинам использование нового стандарта невозможно.