कैसे धागे एक दूसरे के साथ संवाद करते हैं? वे एक दूसरे के मूल्यों का उपयोग नहीं करते हैं, तो उनके बीच संचार का तरीका क्या है?कैसे धागे एक दूसरे के साथ संवाद करते हैं?
उत्तर
थ्रेड मूल्य साझा कर सकते हैं, ऐसा करने पर उन्हें सावधान रहना होगा। .Net में सबसे आम तरीके lock
कथन और इंटरलाक्ड क्लास हैं।
"वे एक-दूसरे के मूल्यों का उपयोग नहीं करते हैं" - एक ही प्रक्रिया में अच्छी तरह से दो धागे सामान्य चर देख सकते हैं, इसलिए यह सिमुलेशन अपरोक है। इसलिए हम परिस्थितियों की प्रतीक्षा करने और प्रतीक्षा धागे उठने के लिए विभिन्न सिंक्रनाइज़ेशन, लॉकिंग, म्यूटिस और सेम्पहोरेस का उपयोग करते हैं।
जावा में आप सिंक्रनाइज़ेशन जैसे विभिन्न प्राइमेटिव का उपयोग करते हैं। आप इसे tutorial
+1 मुझे समझ में नहीं आता कि इस तथ्य पर विचार क्यों नहीं किया जाता है। पूर्णता के लिए – Luca
पढ़ सकते हैं कुछ तरीके थ्रेड एक-दूसरे के साथ संवाद कर सकते हैं। यह सूची संपूर्ण नहीं है, लेकिन इसमें सबसे अधिक उपयोग की जाने वाली रणनीतियों को शामिल किया गया है।
- साझा स्मृति, एक चर या कुछ अन्य डेटा संरचना की तरह
- तुल्यकालन पुरातन, ताले और sempahores तरह
- घटनाक्रम,
ManualResetEvent
याAutoResetEvent
साझा स्मृति की तरह
public static void Main()
{
string text = "Hello World";
var thread = new Thread(
() =>
{
Console.WriteLine(text); // variable read by worker thread
});
thread.Start();
Console.WriteLine(text); // variable read by main thread
}
तुल्यकालन पुरातन
public static void Main()
{
var lockObj = new Object();
int x = 0;
var thread = new Thread(
() =>
{
while (true)
{
lock (lockObj) // blocks until main thread releases the lock
{
x++;
}
}
});
thread.Start();
while (true)
{
lock (lockObj) // blocks until worker thread releases the lock
{
x++;
Console.WriteLine(x);
}
}
}
घटनाक्रम
public static void Main()
{
var are = new AutoResetEvent(false);
var thread = new Thread(
() =>
{
while (true)
{
Thread.Sleep(1000);
are.Set(); // worker thread signals the event
}
});
thread.Start();
while (are.WaitOne()) // main thread waits for the event to be signaled
{
Console.WriteLine(DateTime.Now);
}
}
+1। –
- 1. प्रोग्राम एक-दूसरे के साथ संवाद कैसे करते हैं?
- 2. प्रिज्म (सीएएल) में मॉड्यूल कैसे एक-दूसरे के साथ संवाद करते हैं?
- 3. डब्ल्यूपीएफ एमवीवीएम: व्यू मॉडेल एक-दूसरे के साथ संवाद कैसे करते हैं?
- 4. एमएस एक्सेस: फॉर्म कैसे एक-दूसरे के लिए मूल्यों को संवाद करते हैं?
- 5. प्रोग्रामिंग भाषाएं/पुस्तकालय हार्डवेयर के साथ संवाद कैसे करते हैं?
- 6. नोडज सी ++ कार्यक्रम के साथ संवाद करते हैं?
- 7. 2 थ्रेड कैसे एक-दूसरे से बात करते हैं?
- 8. एक बनावट एक दूसरे के शीर्ष पर कैसे बनाते हैं?
- 9. MessageDialog ShowAsync दूसरे संवाद
- 10. सेवा परत में सेवाएं एक-दूसरे के साथ संवाद कर सकती हैं?
- 11. वेबसर्वर और सीजीआई प्रक्रिया एक-दूसरे के साथ कैसे संवाद करती है?
- 12. डिफ़ॉल्ट प्रकार के उदाहरण एक दूसरे को संदर्भित करते हैं
- 13. एक आवेदन में कितने एक साथ धागे बहुत हैं?
- 14. जावा में अगर एक धागा मारा गया, तो दूसरे धागे के साथ क्या होगा?
- 15. चेनिंग नियम जो एक दूसरे पर निर्भर करते हैं
- 16. गुण एक दूसरे के साथ असंगत बनाते हैं?
- 17. दूसरे धागे, ओपनसीवी में छवि प्रदर्शित करें?
- 18. Django: कुछ मॉडल फ़ील्ड एक दूसरे के साथ संघर्ष क्यों करते हैं?
- 19. एकाधिक ग्रहण-आधारित आईडीई एक-दूसरे के साथ संघर्ष करते हैं?
- 20. विभिन्न सॉकेट पर सीपीयू कैसे संवाद करते हैं?
- 21. स्ट्रक्चर जो एक दूसरे को संदर्भित करते हैं
- 22. एकाधिक एपीके एक दूसरे के साथ इंटरैक्टिंग
- 23. 'व्यस्त' धागे के साथ एक थ्रेडपूलएक्ससेटर कैसे मारा जाता है?
- 24. एकाधिक धागे या धागे के साथ प्रक्रिया
- 25. आप एक अभिभावक धागे को कैसे सूचित करते हैं कि सभी बच्चे धागे समाप्त हो गए हैं?
- 26. अभिनेता धागे की तुलना में कैसे काम करते हैं?
- 27. आप एक लिंक के साथ डेटा कैसे पोस्ट करते हैं
- 28. आप कैसे निर्धारित करते हैं कि बाल धागे
- 29. संवाद के साथ एक jQuery UI संवाद आकार में घोंसला एक div बनाओ?
- 30. ऑब्जेक्ट्स एक दूसरे के ज्ञान रखते हैं
जवाब पहले ही दिया के अलावा, एक नि: शुल्क ई बुक सी # में कैसे सूत्रण कार्यों के लिए काफी बारे में गहराई से परिचय देने के लिए यहाँ की जाँच : [सी # थ्रेडिंग पर मुफ्त ई-बुक] (http://www.albahari.com/threading/) – duesouth