हेल्लो दोस्तों आज के इस पोस्ट में आपको c# thread synchronization in hindi के बारे में आपको बताया जा रहा है की क्या होता हैकैसे काम करता है तो चलिए शुरू करते है
C# thread synchronization का परिचय
- thread synchronization एक mechanism है जिसके द्वारा आप programmers यह सुनिश्चित करता है की किसी resource को एक बार में एक से अधिक thread को access न कर सके
- जब आप multithreading को implement करते है तो कई threads एक साथ execute होती है और available resource जैसे की मेमोरी ,CPU ,network connnection ,file आदि को शेयर करती है तो इसे multithreading में resource को sharing कहा जाता है
- हलाकि आप resource sharing का बहुत से उपयोगी feature है लेकिन कई बार एक programmers के रूप में आपके सामने ऐसे situation भी आ जाती है जब आप चाहते है की कोई resource एक बार में सिर्फ एक ही thread के द्वारा प्रयोग किया जाये
- example के लिए यदि कई threads एक साथ एक file को access और modify करने का प्रयास करती है तो उस situation में उस file का data को corrupt होना पुर्त: सम्भव होता है तो ऐसी situation में यह आवश्यक होता है की threads में आपस में coordination हो
- यदि ऐसे नहीं होता है की तो कई threads को एक समय पर एक ही resource को access करेगी जिससे conflict होने की सम्भावना बढ़ जाती है इसे data को corrupt हो सकता है और application की performance पर भी इसका negative असर पढता है
ऐसी ही situation को handle करने के लिए c# आपको thread synchronization mechanism को provide करती है thread सिंक्रोनाइजेशन(synchronization) के द्वारा आप उस code को lock का देते है जो resource को access और modify करने के लिए execute किया जाता है इसे आप उस code को बार बार में एक ही thread को execute कर पाती है
c# lock statement
c# में thread synchronization को lock statement के द्वारा ही implement किया जाता है lock statement में आप वह code को लिखते है जो एक बार में एक ही thread के द्वारा execute किया जाना चाहिए
lock statement में लिखा गया code को दूसरी threads के द्वारा interrupt किया जा सकता है जब तक की current thread का execution को complete नहीं हो जाता है तो दूसरी threads तब तक के लिए wait करती है
lock statement को lock keyword के द्वारा डिफाइन किया जाता है तो इसका general syntax आपको निचे दिया जा रहा है
lock(object-to-synchronize) { //code here }
जैसे की आप उपर दिए गए syntax में आप देख सकते है की lock statement में argument के रूप में एक object को pass किया जाता है यह वह object होता है जिस पर lock statement के द्वारा lock implement किया जाता है यह उस class का object होता है जो उस code को represent करती है जिसे आप multiple threads को execute करने का प्रयास कर रही है
lock statement के curly brackets में वह code को डिफाइन किया जाता है जो multiple threads के द्वारा execute किया जायेगा
example of c# thread synchronization
c# में thread synchronization को implement करना इसलिए आपको इसका example के द्वारा समझाया गया है
using System; using System.Threading; class seriesPrint { Public void sPrint() { Lock(this) { For(int i=1;i<=10;i++) { Thread.Sleep(100); Console.WriteLine(i); } } } } Class ThreadSynDemo { Static void Main(string[] args) { seriesPrint obj=new seriesPrint(); Thread t1=new Thread(new ThreadStart(obj.sPrint)); Thread t2=new Thread(new ThreadStart(obj.sPrint)); t1.Start(); t1.Start(); } }
उपर दिए example के द्वारा इसका आउटपुट को generate होती है
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
reference-https://www.javatpoint.com/c-sharp-thread-synchronization
निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(c# thread synchronization in hindi) या post अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये और -अगर कोई topic(c# thread synchronization in hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject के लेकर भी कोई प्रश्न हो तो कमेंट करे