Mam funkcję, która używa Pattern#compilei Matcherdo przeszukiwania listy ciągów dla wzorca.
Ta funkcja jest używana w wielu wątkach. Każdy wątek będzie miał unikalny wzór przekazany do, Pattern#compilegdy zostanie utworzony. Liczba wątków i wzorców jest dynamiczna, co oznacza, że mogę dodać więcej Patterns i wątków podczas konfiguracji.
Czy muszę umieszczać synchronizena tej funkcji, jeśli używa ona wyrażenia regularnego? Czy wyrażenie regularne w wątku Java jest bezpieczne?
compile()metoda może nie być. Na przestrzeni lat pojawiły się dwa lub trzy błędy, które powodowały niepowodzenie kompilacji w środowiskach wielowątkowych. Poleciłbym kompilację w zsynchronizowanym bloku.