它是安全的声明静态/全局变量具有固定的boost :: wregex,然后用它从多个线程,而不用担心正则表达式的内部状态(如果加速已编译BOOST_HAS_THREADS)?
如
boost::wregex g_regex( L"common|test" );
随后有多个线程调用:
if ( boost::regex_search( test_str, g_regex ) )
...
它是安全的声明静态/全局变量具有固定的boost :: wregex,然后用它从多个线程,而不用担心正则表达式的内部状态(如果加速已编译BOOST_HAS_THREADS)?
如
boost::wregex g_regex( L"common|test" );
随后有多个线程调用:
if ( boost::regex_search( test_str, g_regex ) )
...
http://www.boost.org/doc/libs/1_51_0/libs/regex/doc/html/boost_regex/background_information/thread_safety.html
类basic_regex和其typedef的正则表达式和wregex是线程安全的,在编译的正则表达式可以安全地在线程之间共享。 匹配算法regex_match,regex_search和regex_replace都是可重入和线程安全的。 类的match_results现在线程安全的,在该匹配的结果可以从一个线程被安全地拷贝到另一个(例如,一个线程可能发现匹配和推的match_results实例到一个队列,而另一个线程弹出它们关闭的另一端),否则使用每个线程的match_results的一个单独的实例。