2016-04-01 15 views
1

Groovy'nin sağladığı @Synchronized ek açıklamasını seviyorum. Java için 'senkronize' anahtar sözcüğünden It is a safer option, 'bu' nesneden ziyade bir yerel/özel kilit değişkeni kullandığı için. Ancak Groovy'de tüm kurallar bozulabilir.Groovy'nin blok seviyesinde senkronizasyon için bir açıklaması var mı?

Ayrıca Lombok, provides the same feature olan bir Java kütüphanesi olduğunu biliyorum.

Ancak bir yöntem içinde bir ek açıklama kullanmanın bir yolu var mı? Böylece, yöntem kodunun bir kısmı senkronize edilmiyor (daha iyi performans için) ve diğer parçalar (gereklilik dışı)?

Ben kendi soruya tek bir çözüm gelmiş olabilir bu soruyu yazarak ederken:

  • Özü yöntemiyle: Yeni bir yöntem oluşturmak o yöntem haline senkronizasyonu gereken kodun bloğunu taşımak. Orijinal kod yeni yöntemi çağırır. Yeni yöntem @ Senkronize edildi.

Bu doğru mu? Daha iyi bir fikir var mı?

cevap

2

Ama yöntemin kod bazı (daha iyi performans için) senkronize değildir ve diğer parçalar (ihtiyaçtan) olacak şekilde bir yöntem dahilinde bir şerh kullanmak için bir yol var?

Hayır, yok. Bir seçenek olarak tarif ettiğiniz yaklaşım işe yarayacaktı.

İlgili konular