Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में थ्रेड हस्तक्षेप त्रुटि

थ्रेड इंटरफेरेंस एरर की अवधारणा को समझने के लिए आइए एक उदाहरण देखें -

उदाहरण

import java.io.*;
class Demo_instance{
   static int val_1 = 6;
   void increment_val(){
      for(int j=1;j<11;j++){
         val_1 = val_1 + 1;
         System.out.println("The value of i after incrementing it is "+val_1);
      }
   }
   void decrement_val(){
      for(int j=1;j<11;j++){
         val_1 = val_1 - 1;
         System.out.println("The value of i after decrementing it is "+val_1);
      }
   }
}
public class Demo{
   public static void main(String[] args){
      System.out.println("Instance of Demo_instance created");
      System.out.println("Thread instance created");
      final Demo_instance my_inst = new Demo_instance();
      Thread my_thread_1 = new Thread(){
         @Override
         public void run(){
            my_inst.increment_val();
         }
      };
      Thread my_thread_2 = new Thread(){
         @Override
         public void run(){
            my_inst.decrement_val();
         }
      };
      my_thread_1.start();
      my_thread_2.start();
   }
}

आउटपुट

Instance of Demo_instance created
Thread instance created
The value of i after incrementing it is 7
The value of i after incrementing it is 7
The value of i after decrementing it is 6
The value of i after incrementing it is 8
The value of i after decrementing it is 7
The value of i after incrementing it is 8
The value of i after incrementing it is 8
The value of i after decrementing it is 7
The value of i after incrementing it is 9
The value of i after decrementing it is 8
The value of i after decrementing it is 7
The value of i after decrementing it is 6
The value of i after decrementing it is 5
The value of i after decrementing it is 4
The value of i after decrementing it is 3
The value of i after decrementing it is 2
The value of i after incrementing it is 3
The value of i after incrementing it is 4
The value of i after incrementing it is 5
The value of i after incrementing it is 6

'Demo_instance' नामक एक वर्ग एक स्थिर मान और एक शून्य फ़ंक्शन 'increment_val' को परिभाषित करता है, जो संख्याओं के एक सेट पर पुनरावृति करता है, और इसे बढ़ाता है और इसे कंसोल पर प्रदर्शित करता है। 'decrement_val' नाम का एक अन्य फंक्शन हर बार संख्याओं और डिक्रीमेंट के एक सेट पर पुनरावृति करता है और कंसोल पर आउटपुट प्रदर्शित करता है।

डेमो नामक एक वर्ग में मुख्य कार्य होता है जो कक्षा का एक उदाहरण बनाता है, और एक नया धागा बनाता है। यह थ्रेड ओवरराइड है, और इस ऑब्जेक्ट इंस्टेंस पर रन फ़ंक्शन को कॉल किया जाता है। दूसरे धागे के लिए भी यही किया जाता है। इन दोनों थ्रेड्स को तब 'स्टार्ट' फंक्शन के साथ बुलाया जाता है।


  1. हम जावा में थ्रेड को कैसे रोक सकते हैं?

    जब भी हम stop() पर कॉल करके किसी थ्रेड को रनिंग स्टेट से रोकना चाहते हैं थ्रेड . की विधि जावा में वर्ग। यह विधि चल रहे थ्रेड के निष्पादन को रोकती है और इसे प्रतीक्षा थ्रेड पूल और एकत्रित कचरे से हटा देती है। एक धागा भी स्वचालित रूप से मृत अवस्था में चला जाएगा जब वह अपनी विधि के अंत तक पहुँच जाएगा।

  1. जावा में उपयोगकर्ता थ्रेड बनाम डेमन थ्रेड?

    डेमन थ्रेड्स आमतौर पर उपयोगकर्ता थ्रेड के लिए सेवाएं करने के लिए उपयोग किया जाता है। मुख्य () विधि एप्लिकेशन थ्रेड का एक उपयोगकर्ता थ्रेड (गैर-डिमन थ्रेड) . है . JVM तब तक समाप्त नहीं होता जब तक कि सभी उपयोगकर्ता थ्रेड (गैर-डिमन) समाप्त। हम स्पष्ट रूप से एक उपयोगकर्ता थ्रेड . द्वारा बनाए गए थ्रेड

  1. ठीक करें:ERR_SOCKET_NOT_CONNECTED

    Google Chrome उपयोगकर्ता त्रुटि संदेश का अनुभव करते हैं “ERR_SOCKET_NOT_CONNECTED जब वे अपने ब्राउज़र पर Google वेबसाइटों तक पहुँचने का प्रयास करते हैं। इस त्रुटि संदेश में कई अलग-अलग परिदृश्य हैं। एक जहां उपयोगकर्ता किसी भी वेबसाइट तक नहीं पहुंच पाता है और दूसरा जहां Google साइटों को छोड़कर सभी वेब