Wenn Sie Ihren Dienst im Singleton-Bereich in Ihrer Spring-Konfiguration definieren, was passiert, wenn mehr als ein Benutzer gleichzeitig versuchen, auf sie zuzugreifen (dh als Abhängigkeit in Ihren Controller) ? Sollte es Konflikte verursachen? Oder der IoC-Container wird den späteren Anruf bis zum ersten beenden? Wenn ja, sollte es die Performance in großen Anwendungen verlangsamen, was für mich nicht richtig klingt. Kann mir jemand eine richtige Antwort geben?Wenn Spring Singleton gleichzeitig auf mehrere Instanzen zugreift
BTW, wie ich mich erinnern kann, wenn es nicht ein Singleton ist, IoC Container wird einige Instanzen basierend auf der Anzahl der Anfragen Pool. Kann jemand das bestätigen?
Vielen Dank für die Antwort hatte. Was wäre die beste Methode, um die Singleton-Klasse sicher zu machen? Ich denke nicht, Sync synchronisieren Block wäre eine gute Idee, da es für die Leistung zu teuer ist. – Brolinuk
@Brolinuk Manchmal brauchen Sie synchronisierte Blöcke, manchmal nicht. Lesen Sie [Java Concurrency in Practice] (http://www.javaconcurrencyinpractice.com/), um weitere Informationen zu erhalten. Grundsätzlich: Wenn Sie keinen veränderbaren Zustand haben, sind Sie normalerweise threadsicher. Wenn Sie dies tun, müssen Sie den Zugriff auf den veränderbaren Zustand synchronisieren. Es gibt auch eine [relevante SO-Frage] (http://stackoverflow.com/questions/1237980/java-5-concurrency-book-recommendations) –