簡體   English   中英

PCRE庫是線程安全的嗎? 如果沒有,您推薦哪個?

[英]Is the PCRE library thread-safe? If not, which do you recommend?

對於C / C ++, PCRE庫是否是線程安全的? 如果PCRE是線程安全的,性能是否存在問題?

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM