İşlev, iş parçacığı için tamamen güvenlidir.
Düşünürseniz ... bu farklı olsaydı ne olacağını düşünün. Her olağan işlev, senkronize edilmemişse iş parçacığı sorunlarına sahip olacaktır, bu nedenle JDK'daki tüm API işlevlerinin senkronize edilmesi gerekir, çünkü bunlar potansiyel olarak birden çok evre tarafından çağrılabilir. Ve çoğu zaman uygulama bazı API kullandığından, çok iş parçacıklı uygulamalar etkili bir şekilde imkansız olacaktır.
Bu, düşünmek için çok saçma, bu yüzden sadece sizin için: Sorunların olmasının açık bir nedeni varsa, yöntemler iş parçacığı açısından güvenli değildir. Her zaman, benim fonksiyonumda birden fazla iş parçacığı olsaydı, ve bir adım hata ayıklayıcınız olsaydı ve bir adım birbiri ardına birinciyi ilerletirseniz ... sonra ikinci iş parçacığını ... belki ikinci iş parçacığını tekrar düşünmeye çalışın ... sorunlar olur mu? Bir tane bulursanız, iş parçacığı güvenli değildir.
Ayrıca, ConcurrentHashMap gibi belirtilenler dışında Java 1.5 Collection sınıflarının çoğunun iş parçacığı için güvenli olmadığını lütfen unutmayın.
Ve gerçekten buna dalmak istiyorsanız, geçici anahtar kelimeye ve TÜM yan etkilerine yakından bakın. Semaphore () ve Lock () sınıfına ve java.util.Concurrent'daki arkadaşlarına bir göz atın. Sınıflarla ilgili tüm API belgelerini okuyun. Öğrenmeye ve tatmin etmeye de değer.
Bu aşırı ayrıntılı cevap için özür dilerim.