J'ai une fonction qui utilise Pattern#compile
et a Matcher
pour rechercher une liste de chaînes pour un motif.
Cette fonction est utilisée dans plusieurs threads. Chaque thread aura un modèle unique transmis au Pattern#compile
lorsque le thread est créé. Le nombre de threads et de modèles est dynamique, ce qui signifie que je peux ajouter plus de Pattern
threads et de threads pendant la configuration.
Dois-je mettre un synchronize
sur cette fonction si elle utilise regex? Est-ce que regex dans les threads Java est sûr?
compile()
méthode peut ne pas l'être. Il y a eu deux ou trois bogues au fil des ans qui ont provoqué l'échec de la compilation dans les environnements multithread. Je recommanderais de faire la compilation dans un bloc synchronisé.