பைதான் மல்டிபிராசசிங் வரிசை

Paitan Maltipiracacin Varicai



தரவு கட்டமைப்பின் மிக முக்கியமான உறுப்பு வரிசை. பைதான் மல்டிபிராசசிங்கிற்கு அடிப்படையான 'முதலில், முதலில் வெளியே' தரவு கட்டமைப்பு வரிசை ஒப்பிடத்தக்கது. தரவைச் சேகரிக்க செயல்முறையை அனுமதிக்க, செயல்முறைச் செயல்பாட்டிற்கு வரிசைகள் வழங்கப்படுகின்றன. வரிசையில் இருந்து நீக்கப்படும் தரவுகளின் முதல் உருப்படி உள்ளிடப்படும் முதல் உருப்படியாகும். வரிசையில் தரவைச் சேர்க்க வரிசையின் “put()” முறையையும், வரிசையில் இருந்து தரவை மீட்டெடுக்க அதன் “get()” முறையைப் பயன்படுத்துகிறோம்.

எடுத்துக்காட்டு 1: பைத்தானில் மல்டிபிராசசிங் வரிசையை உருவாக்க வரிசை() முறையைப் பயன்படுத்துதல்

இந்த எடுத்துக்காட்டில், “வரிசை()” முறையைப் பயன்படுத்தி பைத்தானில் பல செயலாக்க வரிசையை உருவாக்குகிறோம். மல்டிபிராசசிங் என்பது இரண்டு அல்லது அதற்கு மேற்பட்ட செயல்முறைகளை ஒரே நேரத்தில் செய்ய ஒரு கணினியில் ஒன்று அல்லது அதற்கு மேற்பட்ட CPUகளின் பயன்பாட்டைக் குறிக்கிறது. மல்டிபிராசசிங், பைத்தானில் கட்டமைக்கப்பட்ட தொகுதி, செயல்முறைகளுக்கு இடையில் மாறுவதற்கு உதவுகிறது. மல்டிபிராசஸிங்குடன் பணிபுரியும் முன், செயல்முறை பண்புகளை நாம் நன்கு அறிந்திருக்க வேண்டும். தரவு மாதிரியின் ஒரு முக்கிய அங்கம் வரிசை என்பதை நாங்கள் அறிவோம். 'ஃபர்ஸ்ட்-இன்-ஃபர்ஸ்ட்-அவுட்' யோசனையில் கட்டமைக்கப்பட்ட நிலையான தரவு வரிசை, மற்றும் பைதான் மல்டிபிராசசிங் ஆகியவை சரியான இணைகளாகும். பொதுவாக, வரிசை பைதான் பொருளைச் சேமிக்கிறது மற்றும் பணிகளுக்கு இடையே தரவு பரிமாற்றத்திற்கு முக்கியமானது.







பைதான் ஸ்கிரிப்ட்டைச் செயல்படுத்த “ஸ்பைடர்” கருவி பயன்படுத்தப்படுகிறது, எனவே தொடங்குவோம். நாம் முதலில் மல்டிபிராசசிங் தொகுதியை இறக்குமதி செய்ய வேண்டும், ஏனெனில் நாம் பைதான் மல்டிபிராசசிங் ஸ்கிரிப்டை இயக்குகிறோம். மல்டிபிராசஸிங் மாட்யூலை “m” ஆக இறக்குமதி செய்து இதைச் செய்தோம். “m.queue()” நுட்பத்தைப் பயன்படுத்தி, பல செயலாக்க “வரிசை()” முறையைப் பயன்படுத்துகிறோம். இங்கே, 'வரிசை' எனப்படும் ஒரு மாறியை உருவாக்கி, அதில் மல்டிபிராசசிங் 'வரிசை()' முறையை வைக்கிறோம். வரிசை பொருட்களை 'முதல்-இன், முதல்-வெளியே' வரிசையில் சேமிக்கிறது என்பது எங்களுக்குத் தெரியும், முதலில் நாம் சேர்க்கும் உருப்படி முதலில் அகற்றப்படும். மல்டிபிராசஸிங் வரிசையை துவக்கிய பிறகு, அதை திரையில் காண்பிக்க அதன் வாதமாக 'ஒரு மல்டிபிராசசிங் வரிசை உள்ளது' என்ற அறிக்கையை கடந்து 'அச்சு()' முறையை அழைக்கிறோம். பின்னர், கட்டமைக்கப்பட்ட வரிசையை இந்த மாறியில் சேமிப்பதால், 'அச்சு()' முறையின் அடைப்புக்குறிக்குள் 'வரிசை' மாறியைக் கடந்து வரிசையை அச்சிடுகிறோம்.




பைதான் மல்டிபிராசசிங் வரிசை இப்போது கட்டமைக்கப்பட்டுள்ளது என்பதை பின்வரும் படம் காட்டுகிறது. அச்சு அறிக்கை முதலில் காட்டப்படும். இந்த மல்டிபிராசஸிங் வரிசை நியமிக்கப்பட்ட நினைவக முகவரியில் கட்டமைக்கப்பட்ட பிறகு, இரண்டு அல்லது அதற்கு மேற்பட்ட இயங்கும் செயல்முறைகளுக்கு இடையே தனித்துவமான தரவை மாற்ற இது பயன்படுத்தப்படலாம்.







எடுத்துக்காட்டு 2: பைத்தானில் மல்டிபிராசசிங் வரிசையின் அளவைக் கண்டறிய “Qsize()” முறையைப் பயன்படுத்துதல்

இந்த வழக்கில் மல்டிபிராசசிங் வரிசையின் அளவை நாங்கள் தீர்மானிக்கிறோம். மல்டிபிராசசிங் வரிசையின் அளவைக் கணக்கிட, 'qsize()' முறையைப் பயன்படுத்துகிறோம். “qsize()” செயல்பாடு பைதான் மல்டிபிராசசிங் வரிசையின் உண்மையான அளவை வழங்குகிறது. வேறு வார்த்தைகளில் கூறுவதானால், இந்த முறை ஒரு வரிசையில் உள்ள மொத்த உருப்படிகளின் எண்ணிக்கையை வழங்குகிறது.

குறியீட்டை இயக்கும் முன் பைதான் மல்டிபிராசசிங் தொகுதியை “m” ஆக இறக்குமதி செய்வதன் மூலம் தொடங்குவோம். பின்னர், “m.queue()” கட்டளையைப் பயன்படுத்தி, மல்டிபிராசஸிங் “queue()” செயல்பாட்டை செயல்படுத்தி, முடிவை “Queue” மாறியில் வைக்கிறோம். பின்னர், “put()” முறையைப் பயன்படுத்தி, பின்வரும் வரியில் பொருட்களை வரிசையில் சேர்க்கிறோம். தரவை வரிசையில் சேர்க்க இந்த முறை பயன்படுத்தப்படுகிறது. எனவே, 'புட்()' முறையுடன் 'வரிசை' என்று அழைக்கிறோம் மற்றும் அதன் அடைப்புக்குறிக்குள் முழு எண்களை அதன் உறுப்பாக வழங்குகிறோம். '1', '2', '3', '4', '5', '6' மற்றும் '7' ஆகியவை 'put()' செயல்பாடுகளைப் பயன்படுத்தி நாம் சேர்க்கும் எண்கள்.



மேலும், மல்டிபிராசசிங் வரிசையின் அளவைப் பெற “வரிசை”யைப் பயன்படுத்தி, மல்டிபிராசசிங் வரிசையுடன் “qsize()” என்று அழைக்கிறோம். பின்னர், புதிதாக உருவாக்கப்பட்ட “முடிவு” மாறியில், “qsize()” முறையின் விளைவைச் சேமிக்கிறோம். அதன் பிறகு, 'அச்சு()' முறையை அழைக்கிறோம் மற்றும் அதன் அளவுருவாக 'மல்டிபிராசசிங் வரிசையின் அளவு' என்ற அறிக்கையை அனுப்புகிறோம். அடுத்து, இந்த மாறியில் அளவு சேமிக்கப்பட்டதால், 'அச்சு()' செயல்பாட்டில் உள்ள 'முடிவு' மாறியை அழைக்கிறோம்.


வெளியீட்டுப் படத்தில் காட்டப்படும் அளவு உள்ளது. மல்டிபிராசசிங் வரிசையில் ஏழு உறுப்புகளைச் சேர்க்க “put()” செயல்பாட்டையும், அளவை தீர்மானிக்க “qsize()” செயல்பாட்டையும் பயன்படுத்தும்போது, ​​மல்டிபிராசசிங் வரிசையின் அளவு “7” காட்டப்படும். 'மல்டிபிராசசிங் வரிசையின் அளவு' என்ற உள்ளீடு அறிக்கை அளவுக்கு முன் காட்டப்படும்.

எடுத்துக்காட்டு 3: பைதான் மல்டிபிராசசிங் வரிசையில் “Put()” மற்றும் “Get()” முறையைப் பயன்படுத்துதல்

இந்த எடுத்துக்காட்டில் பைதான் மல்டிபிராசசிங் வரிசையில் இருந்து “put()” மற்றும் “get()” வரிசை முறைகள் பயன்படுத்தப்படுகின்றன. இந்த எடுத்துக்காட்டில் பயனர் வரையறுக்கப்பட்ட இரண்டு செயல்பாடுகளை நாங்கள் உருவாக்குகிறோம். இந்த எடுத்துக்காட்டில், '5' சீரற்ற முழு எண்களை உருவாக்கும் செயல்முறையை உருவாக்குவதற்கான செயல்பாட்டை வரையறுக்கிறோம். அவற்றை வரிசையில் சேர்க்க “put()” முறையையும் பயன்படுத்துகிறோம். உருப்படிகளை வரிசையில் வைக்க “put()” முறை பயன்படுத்தப்படுகிறது. பின்னர், வரிசையில் இருந்து எண்களை மீட்டெடுக்க மற்றும் அவற்றின் மதிப்புகளை திரும்பப் பெற, நாங்கள் மற்றொரு செயல்பாட்டை எழுதுகிறோம் மற்றும் செயல்முறையின் போது அதை அழைக்கிறோம். வரிசையில் இருந்து எண்களை மீட்டெடுக்க “get()” செயல்பாட்டைப் பயன்படுத்துகிறோம், ஏனெனில் “put()” முறையைப் பயன்படுத்தி நாம் செருகும் வரிசையில் இருந்து தரவை மீட்டெடுக்க இந்த முறை பயன்படுத்தப்படுகிறது.

இப்போது குறியீட்டை செயல்படுத்த ஆரம்பிக்கலாம். முதலில், இந்த ஸ்கிரிப்டை உருவாக்கும் நான்கு நூலகங்களை இறக்குமதி செய்கிறோம். வினாடிகளில் அளவிடப்படும் சில நேரம் செயல்பாட்டினை தாமதப்படுத்த நேர தொகுதியிலிருந்து 'தூக்கத்தை' இறக்குமதி செய்கிறோம், அதைத் தொடர்ந்து சீரற்ற எண்களை உருவாக்கப் பயன்படும் சீரற்ற தொகுதியிலிருந்து 'ரேண்டம்', பின்னர் மல்டிபிராசஸிங்கிலிருந்து 'செயல்முறை' ஏனெனில் இந்தக் குறியீடு ஒரு செயல்முறையை உருவாக்குகிறது. , இறுதியாக, மல்டிபிராசஸிங்கிலிருந்து 'வரிசை'. ஆரம்பத்தில் ஒரு வகுப்பு நிகழ்வை உருவாக்குவதன் மூலம், வரிசையைப் பயன்படுத்தலாம். இயல்பாக, இது எல்லையற்ற வரிசையை அல்லது அதிகபட்ச அளவு இல்லாத வரிசையை நிறுவுகிறது. பூஜ்ஜியத்தை விட அதிகமான எண்ணுக்கு அதிகபட்ச அளவு விருப்பத்தை அமைப்பதன் மூலம், அளவு கட்டுப்பாட்டுடன் உருவாக்க முடியும்.


நாங்கள் ஒரு செயல்பாட்டை வரையறுக்கிறோம். பின்னர், இந்த செயல்பாடு பயனர் வரையறுக்கப்பட்டதாக இருப்பதால், அதற்கு “function1” என்ற பெயரைக் கொடுத்து, “வரிசை” என்ற வார்த்தையை அதன் வாதமாக அனுப்புகிறோம். அதைத் தொடர்ந்து, “பிரிண்ட்()” செயல்பாட்டைக் கொண்டு, அதை “பில்டர்: ரன்னிங்”, “ஃப்ளஷ்” மற்றும் ஆப்ஜெக்ட் “ட்ரூ” ஸ்டேட்மென்ட்களைக் கடந்து செல்கிறோம். Python இன் அச்சு செயல்பாடு ஃப்ளஷ் எனப்படும் தனித்துவமான விருப்பத்தைக் கொண்டுள்ளது, இது இந்த வெளியீட்டை இடையகப்படுத்தலாமா வேண்டாமா என்பதைத் தேர்வுசெய்ய பயனரை அனுமதிக்கிறது. அடுத்த கட்டம் பணியை உருவாக்குவது. இதைச் செய்ய, 'for' ஐப் பயன்படுத்தி, 'm' என்ற மாறியை உருவாக்கி, வரம்பை '5' ஆக அமைக்கிறோம். பின்னர், அடுத்த வரியில், “ரேண்டம்()” ஐப் பயன்படுத்தி, முடிவை நாம் உருவாக்கிய மாறியில் சேமிக்கவும், அது “மதிப்பு”. செயல்பாடு இப்போது அதன் ஐந்து மறு செய்கைகளை முடிக்கிறது என்பதை இது குறிக்கிறது, ஒவ்வொரு மறு செய்கையும் 0 முதல் 5 வரை ஒரு சீரற்ற முழு எண்ணை உருவாக்குகிறது.

பின்னர், பின்வரும் கட்டத்தில், 'ஸ்லீப்()' செயல்பாட்டை அழைக்கிறோம் மற்றும் குறிப்பிட்ட எண்ணிக்கையிலான வினாடிகளுக்கு பகுதியை தாமதப்படுத்த 'மதிப்பு' வாதத்தை அனுப்புகிறோம். பின்னர், வரிசையில் மதிப்பைச் சேர்க்க, 'புட்()' முறையுடன் 'வரிசை' என்று அழைக்கிறோம். “queue.put()” முறையை மீண்டும் ஒருமுறை செயல்படுத்தி, “இல்லை” மதிப்பைக் கடப்பதன் மூலம், மேலும் எந்த வேலையும் செய்ய வேண்டியதில்லை என்று பயனருக்குத் தெரிவிக்கப்படுகிறது. பின்னர், 'அச்சு()' முறையை இயக்கி, 'பில்டர்: தயார்' அறிக்கையை 'ஃப்ளஷ்' உடன் கடந்து 'உண்மை' என அமைக்கவும்.


நாம் இப்போது 'function2' என்ற இரண்டாவது செயல்பாட்டை வரையறுத்து, அதன் வாதமாக 'வரிசை' என்ற முக்கிய சொல்லை ஒதுக்குகிறோம். பின்னர், 'பயனர்: இயங்குகிறது' மற்றும் 'ஃப்ளஷ்'  என்ற அறிக்கையை அனுப்பும் போது 'அச்சு()' செயல்பாட்டை அழைக்கிறோம், இது 'உண்மை' என அமைக்கப்பட்டுள்ளது. தரவை வரிசையில் இருந்து வெளியே எடுத்து, புதிதாக உருவாக்கப்பட்ட 'உருப்படி' மாறியில் வைப்பதற்கு, 'function2' இன் செயல்பாட்டைத் தொடங்குகிறோம். பின்னர், நிபந்தனை உண்மையாக இருந்தால், சுழற்சியை குறுக்கிட, 'if' நிபந்தனை, 'உருப்படி எதுவும் இல்லை' என்பதைப் பயன்படுத்துகிறோம். உருப்படி எதுவும் கிடைக்கவில்லை என்றால், அது நிறுத்தி, பயனரிடம் ஒன்றைக் கேட்கும். மதிப்பிலிருந்து பெறப்பட்ட உருப்படி பூஜ்யமாக இருந்தால் பணி சுழற்சியை நிறுத்தி இந்த வழக்கில் முடிவடைகிறது. பின்னர், பின்வரும் படிநிலையில், 'அச்சு()' செயல்பாட்டை அழைக்கிறோம் மற்றும் அதற்கு 'பயனர்: தயார்' அறிக்கை மற்றும் 'flush=True' அளவுருக்களை வழங்குகிறோம்.


பின்னர், 'If-name = main_' ஐப் பயன்படுத்தி முக்கிய செயல்முறையை உள்ளிடுகிறோம். 'வரிசை()' முறையை அழைத்து 'வரிசை' மாறியில் சேமிப்பதன் மூலம் வரிசையை உருவாக்குகிறோம். அடுத்து, பயனர் செயல்பாட்டை 'function2' என்று அழைப்பதன் மூலம் ஒரு செயல்முறையை உருவாக்குகிறோம். இதற்காக, 'செயல்முறை' வகுப்பை அழைக்கிறோம். அதன் உள்ளே, செயல்பாட்டில் உள்ள செயல்பாட்டை அழைக்க “target=function2” ஐ கடந்து, வாதத்தை “வரிசை” கடந்து, அதை “User_process” மாறியில் சேமிக்கிறோம். பின்னர் 'Start()' முறையை 'User_ process' மாறி மூலம் அழைப்பதன் மூலம் செயல்முறை தொடங்குகிறது. செயல்பாட்டில் உள்ள 'function1' ஐ அழைப்பதற்கும், அதை 'பில்டர் செயல்முறை' மாறியில் வைப்பதற்கும் அதே நடைமுறையை மீண்டும் செய்கிறோம். பிறகு, செயல்பாட்டிற்காக காத்திருக்க, 'சேர்()' முறையுடன் செயல்முறைகளை அழைக்கிறோம்.


இப்போது அது வழங்கப்பட்டுள்ளது, வெளியீட்டில் இரண்டு செயல்பாடுகளின் அறிக்கைகளையும் பார்க்கலாம். முறையே “get()” முறைகளைப் பயன்படுத்தி “put()” மற்றும் “get()” ஐப் பயன்படுத்தி நாம் சேர்த்த உருப்படிகளைக் காட்டுகிறது.

முடிவுரை

இந்த கட்டுரையில் பைதான் மல்டிபிராசசிங் வரிசை பற்றி அறிந்து கொண்டோம். கொடுக்கப்பட்ட விளக்கப்படங்களைப் பயன்படுத்தினோம். முதலில், வரிசை() செயல்பாட்டைப் பயன்படுத்தி பைதான் மல்டிபிராசஸிங்கில் வரிசையை எப்படி உருவாக்குவது என்பதை விவரித்தோம். பின்னர், வரிசையைத் தீர்மானிக்க “qsize()” முறையைப் பயன்படுத்தினோம். வரிசையின் புட்() மற்றும் கெட்() முறைகளையும் நாங்கள் பயன்படுத்தினோம். நேரத் தொகுதியின் தூக்க வகுப்பு மற்றும் சீரற்ற தொகுதியின் சீரற்ற வகுப்பு இரண்டும் கடைசி எடுத்துக்காட்டில் விவாதிக்கப்பட்டன.