पर किसी उदाहरण पर एक ही विधि के लिए एकाधिक थ्रेड बनाना मेरे पास एक प्रश्न है। क्या यह संभव और मान्य है, अगर मेरे पास एक विधि DoSomething() के साथ कोई ऑब्जेक्ट है, यदि मैं इस विधि के लिए एकाधिक थ्रेड बना देता हूं, तो यह काम करेगा और क्या यह स्वयं के अलग थ्रेड के रूप में चलाएगा?ऑब्जेक्ट
उदा।
public class SomeClass
{
public void DoSomething()
{
//somethings done here
}
}
public class MainProgram
{
public MainProgram()
{
InitializeComponents();
}
protected override OnStart(string[] args)
{
SomeClass sc = new SomeClass();
Thread workerOne = new Thread(() => sc.DoSomething());
workerOne.Start();
Thread workerTwo = new Thread(() => sc.DoSomething());
workerTwo.Start(); //start a new thread calling same method
}
}
मुझे उम्मीद है कि इस तरह का अर्थ बताता है कि मेरा क्या मतलब है। क्या यह काम करेगा या कोई समस्या होगी?
मैं एक प्रोग्राम लिख रहा हूं जिसे लगभग रीयलटाइम सॉफ़्टवेयर होने की आवश्यकता है, मैं वर्तमान में निर्णय ले रहा हूं कि कुछ क्लास का नया उदाहरण प्रारंभ करना बेहतर है या नहीं?
आशा है कि कोई जवाब दे सकता है। अगर मेरा प्रश्न समझ में नहीं आता है, तो कृपया टिप्पणी करें और मैं आगे समझाऊंगा!
धन्यवाद,
Base33
पुनश्च कोड विशेष रूप से उदाहरण :)
सी #/.NET का कौन सा संस्करण आप पर हैं? – RobertMS
अनिवार्य लिंक: [जो अल्बाहारी की मुफ्त ईबुक] (http://www.albahari.com/threading/) –
मैं जावा प्रोग्रामर हूं। लेकिन आपके कोड पर नज़र डालने के बाद, ऐसा लगता है कि आप SomeClass के एक ही उदाहरण का पुन: उपयोग कर सकते हैं। हालांकि, केवल एक धागा विधि को चलाने में सक्षम होगा जबकि दूसरा इसकी बारी के लिए इंतजार कर रहा है। कम से कम जावा में क्या होता है। – CKing