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

पायथन में थ्रेडिंग मॉड्यूल

पायथन 2.4 के साथ शामिल नया थ्रेडिंग मॉड्यूल पिछले अनुभाग में चर्चा किए गए थ्रेड मॉड्यूल की तुलना में थ्रेड्स के लिए अधिक शक्तिशाली, उच्च-स्तरीय समर्थन प्रदान करता है।

थ्रेडिंग मॉड्यूल थ्रेड मॉड्यूल के सभी तरीकों को उजागर करता है और कुछ अतिरिक्त तरीके प्रदान करता है -

  • threading.activeCount() - सक्रिय थ्रेड ऑब्जेक्ट्स की संख्या लौटाता है।
  • threading.currentThread() - कॉलर के थ्रेड कंट्रोल में थ्रेड ऑब्जेक्ट की संख्या लौटाता है।
  • threading.enumerate() − उन सभी थ्रेड ऑब्जेक्ट्स की सूची देता है जो वर्तमान में सक्रिय हैं।

विधियों के अलावा, थ्रेडिंग मॉड्यूल में थ्रेड क्लास होता है जो थ्रेडिंग को लागू करता है। थ्रेड क्लास द्वारा प्रदान की जाने वाली विधियाँ इस प्रकार हैं -

  • रन() - रन () विधि एक थ्रेड के लिए प्रवेश बिंदु है।
  • प्रारंभ() - स्टार्ट () मेथड रन मेथड को कॉल करके थ्रेड शुरू करता है।
  • शामिल हों([समय]) - ज्वाइन () थ्रेड्स के समाप्त होने की प्रतीक्षा करता है।
  • isAlive() - isAlive() विधि यह जांचती है कि कोई थ्रेड अभी भी निष्पादित हो रहा है या नहीं।
  • getName() - getName () विधि थ्रेड का नाम लौटाती है।
  • सेटनाम() -सेटनाम () विधि एक धागे का नाम निर्धारित करती है।

थ्रेडिंग मॉड्यूल का उपयोग करके थ्रेड बनाना

थ्रेडिंग मॉड्यूल का उपयोग करके एक नया थ्रेड लागू करने के लिए, आपको निम्न कार्य करने होंगे -

  • थ्रेड वर्ग के एक नए उपवर्ग को परिभाषित करें।
  • अतिरिक्त तर्क जोड़ने के लिए __init__(self [,args]) विधि को ओवरराइड करें।
  • फिर, रन (स्वयं [, args]) विधि को ओवरराइड करें ताकि यह लागू किया जा सके कि थ्रेड को प्रारंभ होने पर क्या करना चाहिए।

एक बार जब आप नया थ्रेड उपवर्ग बना लेते हैं, तो आप इसका एक उदाहरण बना सकते हैं और फिर प्रारंभ () को लागू करके एक नया धागा शुरू कर सकते हैं, जो बदले में रन () विधि को कॉल करता है।

उदाहरण

#!/usr/bin/pythonimport threadingimport timeexitFlag =0class myThread (थ्रेडिंग.थ्रेड):def __init__(self, threadID, name, काउंटर):थ्रेडिंग.थ्रेड.__init__(self) self.threadID =threadID self.name =नाम सेल्फ.काउंटर =काउंटर डिफ रन (सेल्फ):प्रिंट "स्टार्टिंग" + सेल्फ.नाम प्रिंट_टाइम (सेल्फ.नाम, 5, सेल्फ.काउंटर) प्रिंट "एग्जिटिंग" + सेल्फ.नेमडेफ प्रिंट_टाइम (थ्रेडनाम, काउंटर, डिले):काउंटर के दौरान:अगर एग्जिटफ्लैग:थ्रेडनाम.एक्सिट () टाइम.स्लीप (देरी) प्रिंट "%s:%s"% (थ्रेडनाम, टाइम.सीटाइम (टाइम.टाइम ())) काउंटर - =1 # नया थ्रेड थ्रेड 1 बनाएं =माय थ्रेड (1, "थ्रेड-1", 1)थ्रेड2 =मायथ्रेड(2, "थ्रेड-2", 2)# नया थ्रेड शुरू करें। 

जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

थ्रेड-1 प्रारंभ करना थ्रेड-2 को प्रारंभ करना मुख्य थ्रेड से बाहर निकलना थ्रेड-1:गुरु मार्च 21 09:10:03 2013थ्रेड-1:गुरु मार्च 21 09:10:04 2013थ्रेड-2:गुरु मार्च 21 09:10:04 2013थ्रेड-1 :गुरु मार्च 21 09:10:05 2013थ्रेड-1:गुरु मार्च 21 09:10:06 2013थ्रेड-2:गुरु मार्च 21 09:10:06 2013थ्रेड-1:गुरु मार्च 21 09:10:07 2013 थ्रेड-1 से बाहर निकलना- 2:गुरु मार्च 21 09:10:08 2013थ्रेड-2:गुरु मार्च 21 09:10:10 2013थ्रेड-2:गुरु मार्च 21 09:10:12 2013थ्रेड-2 से बाहर निकलना

  1. पायथन में pydoc मॉड्यूल का उपयोग करके दस्तावेज़ बनाना

    परिचय पाइडोक मॉड्यूल स्वचालित रूप से पायथन मॉड्यूल से प्रलेखन उत्पन्न करता है। दस्तावेज़ीकरण को वेब ब्राउज़र पर प्रदर्शित कंसोल पर पाठ के पृष्ठों के रूप में, या यहाँ तक कि HTML फ़ाइलों के रूप में भी सहेजा जा सकता है। इस लेख में आप विभिन्न मामलों में इन दस्तावेज़ों को देखने के तरीके सीखेंगे और यहां

  1. पायथन गेटपास मॉड्यूल

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

  1. पायथन में from...import * Statement का क्या उपयोग है?

    फ्रॉम मॉड्यूल इम्पोर्ट * स्टेटमेंट का उपयोग पायथन मॉड्यूल से सभी फंक्शन को इम्पोर्ट करने के लिए किया जाता है। उदाहरण के लिए, यदि आप गणित मॉड्यूल से सभी फ़ंक्शन आयात करना चाहते हैं और गणित उपसर्ग नहीं करना चाहते हैं। उन्हें कॉल करते समय, आप इसे इस प्रकार कर सकते हैं: >>> from math import * &