kişi @GuardedBy ("mutex") özel Harita haritası = new HashMap() bu haritanın iplik yapar mı kullanmaktır kasa? Şüpheliyim. Bu kod nasıl bir iplik güvenli haritasının kullanılacağına nasıl karar verebilir?
Sanırım bu sadece bir çeşit dokümantasyon.mu @GuardedBy ("mutex") güvenli veri iplik yapmak ya da ben fark etmiş sadece bir dokümantasyon
cevap
Bu belgelerdir. Bir statik analiz programı, @GuardedBy
ek açıklamasını içeren Java sınıf dosyanızı inceleyebilir ve tüm okumaların veya yazmaların kilit tarafından korunmadığını bildirebilir. FindBugs program reportedly does so.
Varsayılan olarak, @GuardedBy
belirli bir şekilde ele alınmaz ve sorun değil. Ek açıklamalar, genellikle niyeti belgeleyen meta verilerdir.
Dil için belirli bir ek açıklama kullanılması, okunabilirliği ve kodun sadeliğini olumsuz yönde etkileyebilecek bir şeydir, bu nedenle dikkatle yapılması gerekir.
- gerçek davranış açıklama gömülü olan durumlar vardır gayet (örn
@Override
)
ek açıklamaları için amaçlanan kullanımları ne sen (https://docs.oracle.com/javase/tutorial/java/annotations/) olsa bir göz atacak olursak, sizi @GuardedBy
'dan faydalanabileceğiniz bazı yolları kolayca hayal edebilirsiniz.
IIRC, FindBugs, JCIP ek açıklamalarını işleyen ilk araçtır ve belirli bir projede, aslında açıklamalı koleksiyonları iş parçacığı için güvenli kılan araçları uygulayabileceğinizi kolayca hayal edebilirsiniz (projenizle sınırlı olması gereken bazı kısıtlamalar varsa)).
@GuardedBy
'un ana noktası, her zaman hangi kaynakların hangi kilitlerle korunduğunu izlemek istediğiniz zihinsel modeldir. Konular arasında her şeyi paylaştığınız her seferinde "bu paylaşılan verinin ne yapması gerektiğini" düşünmek kötü bir alışkanlık değildir.
- 1. Güvenli iplik yığını boyutu?
- 2. parçacığı farkında ve iplik güvenli arasındaki fark nedir?
- 3. İplik güvenli diş tekniği. Bir şey mi eksik?
- 4. Trove kütüphanesi iplik güvenli midir?
- 5. iphone bluetooth Bir cihazdan bir olay ya da veri almak
- 6. @GuardedBy ek açıklaması ile java.util.concurrent.locks.ReadWriteLock
- 7. Java programı kontrolsüz ya da güvenli olmayan işlemleri
- 8. yapmak YA ben kısmi ve soyadınız maç aramak istediğiniz
- 9. ya da değil
- 10. Bu statik yöntem iplik güvenli midir?
- 11. MySQL "Ya da" Koşul
- 12. iplik
- 13. Ben Böyle bir dosya ya da dizin hatayı olsun
- 14. chmod: yinelemeli sadece ben fark zaten izin
- 15. Ya Da Gerekli Doğrulama
- 16. Android: yeni aktivitelerle ekranları değiştirmek ya da sadece içeriği değiştirmek
- 17. defa karşılaştırılması ya da ben biraz zaman benim veritabanından tanımladığınız
- 18. Normale ya da değil - Birçok bir veya ben normalleştirmek ya da benim veritabanında bu kısmını denormalize karar olamaz
- 19. Neden std :: mutex, CRITICAL_SECTION
- 20. sd kartında ya da
- 21. HtmlAgilityPack Dokümantasyon
- 22. @GuardedBy, @ThreadSafe, @ NotThreadSafe
- 23. Dokümantasyon önişlemcisi, Doxygen
- 24. JavaScript anahtar ifadesinde sıkı bir karşılaştırma yapmak güvenli midir?
- 25. Bir görüntüyü Ruby ya da imagemagick ile entropi edin ya da hesaplayın
- 26. Kulp ve iplik arasındaki fark nedir?
- 27. gooroutinin bir önceliği olsun ya da olmasın?
- 28. Bir Mutex oluşturma bir DirectoryNotFoundException
- 29. caffe2 Tensor atama, yapım ya da kopyalama
- 30. UIPOPOVER? ya da sahte mi?
Sadece 'map' erişimini korumak için _field_'ın ne olacağını açıklayan belgeler. Eşzamanlılık kitabını mı okuyorsunuz? Bu kitabın başında açıklanmalıdır. – Savior
Ayrıca bkz http://stackoverflow.com/questions/11362298/guardedby-threadsafe-notthreadsafe – Raedwald
emin m okuma .. sadece bir başkası ile aynı argüman vardı. Gördüğünüz gibi, gerçekten iş parçacığı için güvenli bir şey yaptığına inanamıyorum. Mekanizma hiç belirtilmemiş. –