Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Thread Safety

Boost , Boost.Regex 5.1.2 , Background Information

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Начало. Библиотека Regex безопасна для потоков, когда Boost: вы можете проверить, что Boost находится в безопасном режиме потоков, проверив, определен ли<BOOST_HAS_THREADS>: этот макрос автоматически устанавливается системой конфигураций при включении поддержки потоков в вашем компиляторе.

Класс<basic_regex>и его типдефы regex и wregex безопасны для потоков, в том, что компилируемые регулярные выражения могут безопасно делиться между потоками. Алгоритмы соответствия<regex_match>,<regex_search>и<regex_replace>Все они являются безопасными. Класс<match_results>теперь является безопасным потоком, поскольку результаты матча могут быть безопасно скопированы из одного потока в другой (например, один поток может находить совпадения и толкать).<match_results>экземпляры на очереди, в то время как другая нить выталкивает их с другого конца, в противном случае используйте отдельный экземпляр<match_results>на одну нить.

ФункцииPOSIX APIявляются ре-входящими и безопасными, регулярные выражения, скомпилированные с regcomp, также могут быть разделены между потоками.

КлассRegExбезопасен только в том случае, если каждая нить получает свой собственный экземпляр RegEx (поточность квартир) - это следствие того, что RegEx обрабатывает как компиляцию, так и соответствие регулярных выражений.

Наконец, обратите внимание, что изменение глобальной локализации аннулирует все скомпилированные регулярные выражения, поэтому вызов<set_locale>из одной нити, в то время как другая использует регулярные выражения, приведет к непредсказуемым результатам.

Существует также требование, что перед началом main() выполняется только один поток.


PrevUpHomeNext

Статья Thread Safety раздела Boost.Regex 5.1.2 Background Information может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Background Information ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 05:13:40/0.0035989284515381/0