जावा में मैं एक वर्ग है कि एक और इसी तरह वर्ग के भीतर थ्रेड फैली को लागू करने की आवश्यकता है। क्या यह संभव है?क्या मैं जावा में धागे के भीतर धागा चला सकता हूं?
// The first layer is a Thread
public class Consumer extends Thread {
// Variables initialized correctly in the Creator
private BufferManager BProducer = null;
static class Mutex extends Object {}
static private Mutex sharedMutex = null;
public Consumer() {
// Initialization of the thread
sharedMutex = new Mutex();
BProducer = new BProducer(sharedMutex);
BProducer.start();
}
public void run() {
int data = BProducer.getData();
///// .... other operations
}
////// ...... some code
// Also the second layer is a Thread
private class BufferManager extends Thread {
Mutex sharedMutex;
int data;
public BufferManager(Mutex sM) {
sharedMutex = sM;
}
public int getData(Mutex sM) {
int tempdata;
synchronized(sharedMutex) {
tempdata = data;
}
return tempdata;
}
public void run() {
synchronized(sharedMutex) {
data = getDataFromSource();
}
///// .... other operations on the data
}
}
}
दूसरे थ्रेड सीधे पहले एक के अंदर कार्यान्वित किया जाता है:
मुझे क्या करना है कोशिश कर रहा हूँ का एक उदाहरण निम्नलिखित (सरलीकृत) टुकड़ा है। इसके अलावा मैं जानना चाहता हूं कि म्यूटेक्स को कार्यान्वित करना इस तरह काम करेगा या नहीं। यदि नहीं, तो ऐसा करने के लिए कोई बेहतर (मानक) तरीका है?
अग्रिम धन्यवाद।
इस स्थापना के समय नहीं है। – mre
.. आप निश्चित रूप से कैसे जान सकते हैं? – BlackVegetable
सभी धागे अन्य धागे से शुरू होते हैं, आपके पास कोई विकल्प नहीं है। धागे स्वतंत्र रूप से यथासंभव काम करने के लिए हैं। –