Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ boost _ boost семафор

Автор: zerhud 25.6.2014, 21:32

добрый %вермя_суток% :)
мне ужно, чтобы одновременно выполнялись только несколько потоков из неопределенного их количества. condition на сколько я понял может только либо сразу все запустить, либо только один. есть какой-нибудь там симофор? мне не нужно синхронизировать процессы, как в interprocces

Автор: Iron Bug 26.6.2014, 7:19

можно использоватьhttp://www.boost.org/doc/libs/1_55_0/doc/html/thread/synchronization.html#thread.synchronization.condvar_ref (ну или http://en.cppreference.com/w/cpp/thread/condition_variable, если компилятор поддерживает С++11).

вот http://stackoverflow.com/questions/3928853/how-can-i-achieve-something-similar-to-a-semaphore-using-boost-in-c/3929874#3929874 даже приведён пример реализации семафора на основе condition_variable.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)