यदि आपके पास एक विंडोज़ सेवा है और एक विंडोज़ फॉर्म है जो एक ही स्थैतिक वस्तु का उपयोग करता है, तो यह दोनों अनुप्रयोगों में एक ही वस्तु है? दूसरे शब्दों में यदि मैं सेवा में ऑब्जेक्ट को अपडेट करता हूं तो इसे फॉर्म एप्लिकेशन में भी अपडेट किया जाएगा, साथ ही दोनों एक ही समय में चल रहे हैं?एक स्थिर वस्तु एक ही ऑब्जेक्ट एकाधिक चल रहे अनुप्रयोगों में है?
उत्तर
वे विभिन्न प्रक्रियाओं पर चलते हैं ताकि वे स्थैतिक वस्तु साझा न करें।
exaclty अपने प्रश्न, लेकिन एक ही आवेदन पर बनाया धागे के साथ संबंधित नहीं एक अलग कहानी है। जब तक ThreadStatic
के साथ चिह्नित है विशेषता
मुझे लगता है कि प्रत्येक एप्लिकेशन अपनी प्रक्रिया में चलता है। मुझे सच में संदेह है कि विंडोज सेवा में एक स्थैतिक वस्तु को अद्यतन करने से स्थिरता ऑब्जेक्ट पर विंडोज़ फॉर्म के रूप में चलने पर कोई असर पड़ता है।
विंडोज सेवा system
खाते के तहत चलती है जहां एक विंडोज़ फॉर्म एप्लिकेशन User
खाते के तहत चलता है।
के रूप में दूसरों को टिप्पणी में बताया है, प्रक्रियाओं अलग स्मृति में चलाते हैं। प्रत्येक प्रक्रिया में अपना स्वयं का पता स्थान है।
विंडोज सेवा सेवा नियंत्रण प्रबंधक आदेशों का जवाब देती है।
वे पूरी तरह से दो अलग-अलग चीजें हैं।
नहीं। जब तक आप कुछ हासिल करने के लिए इस वस्तुओं विभिन्न प्रक्रियाओं के बीच साझा नहीं कर रहे हैं विशिष्ट कर वे स्थिर चर साझा करेंगे।
इस के लिए सरल जवाब है कि प्रत्येक प्रक्रिया का अपना स्थिर तो नहीं, यह सेवा और डेस्कटॉप प्रक्रिया के बीच साझा नहीं किया जाएगा है।
जटिल हिस्सा यह है कि एकल प्रक्रिया में स्थैतिक के कई उदाहरण भी हो सकते हैं।
Java
में प्रत्येक ClassLoader
के लिए स्थैतिक वस्तु का एक उदाहरण है जो कक्षा को लोड करता है। मैंने C#
में समकक्ष कार्यक्षमता की जांच की। मुझे this question on SO मिला जो बताता है कि वास्तव में C#
में मुझे कई क्लासलोडर के समान कुछ है (मुझे लगता है कि वास्तव में CLR
में) और हालांकि मुझे स्थिर के कई उदाहरणों के लिए कोई विशिष्ट संदर्भ नहीं मिला है, मुझे यकीन है कि यह मामला होगा।
सीधे शब्दों में नहीं डाल दिया,
स्थिर है 'static per AppDomain
' (और आप इस प्रक्रिया के प्रति एक से अधिक डोमेन हो सकता था), इसलिए नहीं भी एक प्रक्रिया के लिए ग्रहण करने के लिए है कि अपने स्थैतिक चर 'साझा' हो जाएगा सुरक्षित है (आम तौर पर जब तक सच है आप हाथ से नए डोमेन बनाते हैं, उदाहरण के लिए What is AppDomain? देखें) - उदाहरण के लिए वेब ऐप्स आम तौर पर 'स्थैतिक' सिंगलटन आदि को तोड़ते हैं
दूसरे शब्दों में आपको विभिन्न प्रकार के अनुप्रयोगों के बीच अपना डेटा साझा करने में सक्षम होने के लिए किसी प्रकार की दृढ़ता का उपयोग करने की आवश्यकता है। या एप्लिकेशन (डोमेन) सीमाओं पर संवाद करने के लिए डब्ल्यूसीएफ को रिमोटिंग का उपयोग करें।
- 1. एक ही समय में एकाधिक प्रसंस्करण.जेएस स्केच चल रहे हैं
- 2. एक ही प्रकार के एकाधिक वस्तु सेट
- 3. एक स्थिर वस्तु
- 4. CMake: एकाधिक, एक ही स्थिर पुस्तकालय
- 5. एक चल रहे JVM
- 6. सभी पुनरावृत्तियों एक ही समय में क्यों चल रहे हैं?
- 7. 'स्थिर' एक समारोह में वस्तु
- 8. एक चल रहे पायथन डेमन
- 9. एक ही वस्तु एक ManyToManyField
- 10. कैसे एक ही वस्तु
- 11. एक चल रहे पायथन प्रोग्राम
- 12. एक ही ऑब्जेक्ट या एक पीएचपी ऑब्जेक्ट
- 13. एक ही (?) ऑब्जेक्ट
- 14. हाइबरनेट - TypedQuery.getResultList() एक ही वस्तु
- 15. एक ऑब्जेक्ट से एक ही ऑब्जेक्ट को
- 16. दो कर्सर एक ही समय में एक एम्बेडेड आवेदक में क्यों चल रहे हैं और आगे बढ़ रहे हैं?
- 17. एक चल रहे पायथन प्रक्रिया का निर्धारण?
- 18. चल रहे JVM
- 19. पहुँच जावास्क्रिप्ट एक ही वस्तु में शाब्दिक मूल्य वस्तु
- 20. वहां पहले से ही एक वस्तु डेटाबेस
- 21. क्यों जावा एकाधिक पैरामीटर ले सकता है लेकिन केवल एक ही वस्तु वापस कर सकता है?
- 22. console.log() एक ही ऑब्जेक्ट प्रॉपर्टी
- 23. एक चल रहे थ्रेड को बाधित/मारें
- 24. अगर वस्तु पहले से ही एक सूची
- 25. एप्पलस्क्रिप्ट - सभी चल रहे अनुप्रयोगों को सूचीबद्ध करें
- 26. वस्तु में एक चर
- 27. एक ही सत्र में एकाधिक WebRequest
- 28. एक आंतरिक वर्ग के नाम और एक वस्तु नाम जावा में एक ही उपयोग करना
- 29. एकाधिक पृष्ठों पर एक ही मेनू है?
- 30. एकाधिक इंस्टॉल: एक ही pom.xml
इसका उपयोगकर्ता खातों से कोई लेना देना नहीं है। विभिन्न प्रक्रियाओं में अलग-अलग मेमोरी रिक्त स्थान होते हैं और इस प्रकार प्रति डिफ़ॉल्ट डेटा साझा नहीं करते हैं। –
@BrianRasmussen बिल्कुल - संदीप आपको शायद इसे थोड़ा संपादित करना चाहिए। – NSGaga