Мне было интересно, есть ли способ реализовать семафор в C ++ (или C #), какие-нибудь библиотеки, которые бы помогли.Я пытался использовать OpenMP, но у меня не было способа фактически блокировать потоки, вместо этого мне пришлось долго ждать их, что приводило к тупикам, если / когда у меня не было достаточного количества потоков.Итак, во-первых, я ищу какую-нибудь библиотеку, которая позволила бы мне блокировать / порождать / убивать мои потоки.
Во-вторых, существуют ли какие-либо библиотеки, которые уже реализуют семафоры?
И, наконец, когда я познакомился сконтекст семафоров Я нашел это очень полезным (может быть, я ошибаюсь?), но я не вижу много библиотек (если вообще), реализующих это.Я знаком с OpenMP, осматривал темы Intel TBB, C #.Но ни в одном из них я не вижу явно семафоров.Так неужели семафоры не такие практичные, как я думаю?Или их сложно реализовать?Или это я не в курсе?
PS
Могут ли семафоры быть реализованы кроссплатформенными?Поскольку они, вероятно, связаны с ОС.