Из того, что я собрал в свободном программировании, это невероятно сложно сделать правильно... и я согласен. Просто думать о некоторых проблемах делает мою голову больно. Но я удивляюсь, почему широко распространено использование оберток высокого уровня вокруг (например, блокировка свободной очереди и аналогичных материалов)? Например, у boost нет библиотеки, свободной от блокировки, хотя, как я знаю, это было предложено. Я имею в виду, я предполагаю, что есть много приложений, где вы не можете избежать того факта, что критический раздел - большая часть нагрузки. Итак, в чем причины? Это...
- Патенты - я слышал, что некоторые вещи, связанные с незакрепленным программированием, запатентованы.
- Производительность.
- Google и Microsoft имеют такие внутренние библиотеки, но ни один из них не является общедоступным...
- Что-то еще?
Итак, мой вопрос: почему абстракции высокого уровня, которые используют программирование с блокировкой в глубину не очень популярным, в то время как "регулярное" многопоточное программирование "включено"?
EDIT: boost получил незаблокированную lib:)