Apache Lucene uses修改後的Brics自動機包。但是Brics線程安全嗎?dk.brics.automaton包是否線程安全?
更具體地說,它可以安全地處理來自不同線程的多個併發自動機實例 - 不會阻塞嗎?
Apache Lucene uses修改後的Brics自動機包。但是Brics線程安全嗎?dk.brics.automaton包是否線程安全?
更具體地說,它可以安全地處理來自不同線程的多個併發自動機實例 - 不會阻塞嗎?
是的,從RegExp構造一個Automaton或RunAutomaton是線程安全的 - 除非您使用setAllowMutate。
線程安全取決於您如何使用它,但我們使用它的方式不需要是線程安全的。
這是因爲automatonquery的構造函數在內部將所有內容編譯爲完全不可變的形式。
我的意思是如果相同的編譯自動機,然後創建多個RunAutomaton實例 - 每個線程中一個,然後同時運行它們? –