Wenn mehrere Threads auf gemeinsam genutzte Daten zugreifen, muss jeweils nur ein Thread auf die gemeinsam genutzten Daten zugreifen, um die Sicherheit zu gewährleisten.
Wenn Sie es für Anwendungen, die von mehreren Personen gleichzeitig verwendet werden sollen, nicht threadsicher machen, befinden Sie sich in einem Zustand, in dem "Herr A unbeabsichtigt Daten erfasst, die nur Herr A sehen sollte". Ich werde am Ende.
Lokale Variablen werden in einem Speicherbereich gespeichert, der als Java-Stapelbereich bezeichnet wird, sodass nur ein Thread auf sie zugreifen kann. Mit anderen Worten, es wird für jeden Thread in einem anderen Speicherbereich gespeichert und kann von anderen Threads nicht referenziert oder neu geschrieben werden. Übrigens werden Klassenvariablen und Instanzvariablen in einem Speicherbereich gespeichert, der als Heap-Bereich bezeichnet wird, und dieser Bereich wird von mehreren Threads referenziert.
Beachten Sie, dass Sie, auch wenn Sie in Java-Programmen keine Klassenvariablen und Instanzvariablen verwenden, diese unbeabsichtigt in JSP verwenden.
<%! int count = 0; %>
Die JSP wird zur Laufzeit in ein Servlet kompiliert, die obige Deklaration wird jedoch als Instanzvariable erweitert.
Recommended Posts