![](/img/trans.png)
[英]C++/Linux: how do you write a thread-safe library that uses sockets?
[英]Is the PCRE library thread-safe? If not, which do you recommend?
從PCRE文檔來看:
多重閱讀
PCRE函數可以在多線程應用程序中使用,前提是pcre_malloc,pcre_free,pcre_stack_malloc和pcre_stack_free指向的內存管理函數以及pcre_callout和pcre_stack_guard指向的調出和堆棧檢查函數由所有線程。
正則表達式的編譯形式在匹配期間不會更改,因此同一編譯模式可以安全地一次被多個線程使用。
如果使用即時優化功能,則每個線程需要單獨的內存堆棧區域。 有關更多詳細信息,請參見pcrejit文檔。
所有這些都意味着,如果您小心的話,答案是“是的,PCRE庫是線程安全的”。
有點題外話,但我建議看看RE2 (RE2是線程友好的)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.