Ich habe eine Funktion, die verwendet Pattern#compile
und Matcher
eine Liste von Zeichenfolgen nach einem Muster durchsucht.
Diese Funktion wird in mehreren Threads verwendet. Jeder Thread hat ein eindeutiges Muster, das Pattern#compile
beim Erstellen des Threads übergeben wird. Die Anzahl der Threads und Muster ist dynamisch, was bedeutet, dass ich Pattern
während der Konfiguration weitere s und Threads hinzufügen kann .
Muss ich synchronize
diese Funktion aktivieren, wenn sie Regex verwendet? Ist Regex im Java-Thread sicher?
compile()
Methode jedoch möglicherweise nicht. Im Laufe der Jahre gab es zwei oder drei Fehler, die dazu führten, dass die Kompilierung in Multithread-Umgebungen fehlschlug. Ich würde empfehlen, die Kompilierung in einem synchronisierten Block durchzuführen.