मैं ग्रोवी 1.7.2 के साथ काम कर रहा हूं। ऐसी विधियां हैं जिन्हें सिंक्रनाइज़ करने की आवश्यकता है, क्या ऐसा करने का कोई भी तरीका है या मुझे विधि से पहले synchronized
कीवर्ड डालने के समान जावा तरीके का पालन करना होगा। @Synchronizedक्या कोई विधि सिंक्रनाइज़ करने का एक ग्रोवी तरीका है?
7
A
उत्तर
10
यदि आप उन्नयन कर सकते हैं ग्रूवी 1.7.3 करने के लिए आप Synchronized
एएसटी परिवर्तन के बजाय का उपयोग कर सकते हैं:
e.g : synchronized static def Map getMap(def fileName) { }
2
ग्रूवी 1.7.3 के बाद से हम एक नया एएसटी परिवर्तन किया है। आप उदाहरण और स्थैतिक तरीकों पर एनोटेशन का उपयोग कर सकते हैं। एनोटेशन आपकी कक्षा में लॉक वैरिएबल बनाएगा (या आप मौजूदा चर का उपयोग कर सकते हैं) और कोड उस लॉक वैरिएबल पर सिंक्रनाइज़ किया गया है।
synchronized
ब्लॉक का उपयोग विधि को कीवर्ड जोड़ने पर प्राथमिकता दी जानी चाहिए। यदि आप कीवर्ड का उपयोग this
पर सिंक्रनाइज़ करने के तरीके पर करते हैं जिसका अर्थ है कि आपके सभी वर्गों में से किसी भी तरीके को एक्सेस करना चाहते हैं, तो लॉक फिर से मुक्त होने तक प्रतीक्षा करनी होगी।
import groovy.transform.Synchronized
class YourClass {
@Synchronized
static Map getMap(def fileName) {
...
}
}
संबंधित मुद्दे
- 1. क्या एसिंक्रोनस विधि सिंक्रनाइज़ करने का एक सामान्य तरीका है?
- 2. क्या एसिंक विधि का परीक्षण करने का कोई तरीका है?
- 3. एक धागा है कि सिंक्रनाइज़ क्रियान्वित विधि
- 4. क्या ऐसा करने का कोई तरीका है?
- 5. @ सिंक्रनाइज़ का उपयोग करने का सही तरीका कौन सा है?
- 6. विधि से बेनामी प्रकार वापस करने का कोई तरीका है?
- 7. क्या कोई मौजूदा संपत्ति या विधि तक पहुंचने का प्रयास करने का कोई तरीका है?
- 8. क्या सिंक्रनाइज़ (यह) और सिंक्रनाइज़ विधि के बीच अंतर है
- 9. ग्रोवी में इंजेक्ट विधि क्या है?
- 10. क्या एक सुलभ मोडल करने का कोई तरीका है?
- 11. गतिशील रूप से एक स्थिर विधि का आह्वान करने के लिए ग्रोवी तरीका
- 12. क्या httpwebrequest का निपटान करने का कोई सही तरीका है?
- 13. क्या प्रतिबिंब के साथ एक विधि "ओवरराइड" करने का कोई तरीका है?
- 14. क्या कॉल करने योग्य विधि में कोई तर्क लेने का कोई तरीका है?
- 15. क्या कोई लेबल अक्षम करने का कोई तरीका है?
- 16. क्या आविष्कार विधि जानने का कोई तरीका है?
- 17. क्या कोई संदर्भ पता प्राप्त करने का कोई तरीका है?
- 18. क्या ग्रोवी के पास विस्तार के बिना फ़ाइल नाम प्राप्त करने का एक आसान तरीका है?
- 19. क्या कोई जेड-इंडेक्स सर्कल करने का कोई तरीका है?
- 20. ग्रोवी में "उपयोग" कीवर्ड/विधि का उपयोग क्या है?
- 21. क्या स्थानांतरित करने/ट्रंक करने का कोई साफ तरीका है?
- 22. क्या StorageFile.CopyAsync() को रद्द करने का कोई तरीका है?
- 23. जावा - एक ArrayList सिंक्रनाइज़ करने का सबसे प्रभावी तरीका क्या है?
- 24. क्या पायथन में + = अधिभारित करने का कोई तरीका है?
- 25. जावा में एक सिंक्रनाइज़ विधि और सिंक्रनाइज़ ब्लॉक के बीच क्या अंतर है?
- 26. क्या फ़ैक्टरी विधि में स्विच करने का कोई विकल्प है?
- 27. ग्रोवी में कोई विधि कैसे काम करती है?
- 28. क्या PHP का एफ़टीपी शुरू करने का कोई तरीका है?
- 29. क्या होम विजेट पर एनिमेट करने का कोई तरीका है?
- 30. प्लगइन के बिना किसी वेबपृष्ठ में दो वीडियो सिंक्रनाइज़ करने का कोई तरीका है?
अपग्रेड अभी के लिए योजना नहीं है, लेकिन जानकारी निश्चित रूप से बहुत उपयोगी है, इसका मतलब है groovy 1.7.2 में मैं जावा सिंक्रनाइज़ शैली का उपयोग कर सकता हूं, – anish