Page 167 - CITS - CSA - TP (Volume 2) - Hindi
P. 167

कं  ूटर सॉ वेयर ए ीके शन - CITS




                   CounterWithSync counter = new CounterWithSync();
                   IncrementThreadWithSync thread1 = new IncrementThreadWithSync(counter);

                   IncrementThreadWithSync thread2 = new IncrementThreadWithSync(counter);



                   thread1.start();

                   thread2.start();

               }
           }

             ीकरण:

           1   CounterWithSync  ास:

              •   यह  ास एक िनजी िगनती चर के  साथ एक काउंटर का  ितिनिध  करता है।
              •   increment() िविध िसं नाइज़ है, िजसका अथ  है िक एक समय म  के वल एक  ेड ही इस िविध को िन ािदत कर सकता है।

              •   increment() िविध के  अंदर, एक लूप पाँच बार पुनरावृित करता है, हर बार काउंट म  एक की वृ   करता है।

           2  IncrementThreadWithSync  ास:

              •   यह  ास  ेड  ास का िव ार करता है और एक  ेड का  ितिनिध  करता है जो काउंटर को बढ़ाता है।
              •   इसम  CounterWithSync ऑ े  का संदभ  होता है।

           3  MultithreadingWithSyncExample  ास:

              •   इस  ास म  main() िविध होती है, जो  ो ाम के   वेश िबंदु के   प म  काय  करती है।
              •   main() के  अंदर:

              •   CounterWithSync नामक काउंटर का एक उदाहरण बनाया जाता है।

              •   IncrementThreadWithSync के  दो उदाहरण, thread1 और thread2, काउंटर ऑ े  के  संदभ  म  बनाए जाते ह ।
              •   दोनों  ेड्स को start() िविध का उपयोग करके  एक साथ शु  िकया जाता है।

           4  आउटपुट:

              •   चूंिक increment() िविध िसं नाइज़ है, इसिलए एक समय म  के वल एक  ेड ही इसे िन ािदत कर सकता है।

              •   इस  कार, आउटपुट दो  ेड्स के  इंटरली ड िन ादन को िदखाएगा, िजससे काउंटर म  वृ   होगी।
              •     ेक  ेड, वृ   से पहले और बाद म  िगनती  दिश त करता है, िजससे यह सुिनि त होता है िक काउंटर को  ेड-सुरि त तरीके  से बढ़ाया गया
                 है।

           5   ेड से ी :

              •   िसं ोनाइजेशन यह सुिनि त करता है िक एक समय म  के वल एक  ेड ही कोड के  मह पूण  भाग (इस मामले म , increment() िविध) को
                 िन ािदत कर सकता है।
              •   यह रेस कं डीशन को रोकता है और यह सुिनि त करता है िक साझा संसाधन (काउंट वै रएबल) को  ेड-सुरि त तरीके  से ए ेस िकया जाए।

           यह  ो ाम दशा ता है िक जब कई  ेड एक साथ साझा संसाधनों तक प ँचते ह , तो  ेड सुर ा सुिनि त करने के  िलए जावा म  िसं ोनाइज़ेशन का
           उपयोग कै से िकया जाता है। यह डेटा कर शन को रोकने और म ी- ेडेड वातावरण म  साझा डेटा की इंटीि टी को बनाए रखने के  िलए आव क है।



                                                           153

                                  CITS : IT & ITES - कं  ूटर सॉ वेयर ए ीके शन - अ ास 105
   162   163   164   165   166   167   168   169   170   171   172