পাইথনে থ্রেডিং: পাইথনে থ্রেডগুলি দিয়ে কীভাবে কাজ করবেন তা শিখুন



পাইথনে থ্রেডিং সম্পর্কিত এই নিবন্ধটি আপনাকে জানাবে যে থ্রেডগুলি কী কী, এর প্রকারগুলি, কীভাবে সেগুলি শুরু করা যায় এবং সর্বোত্তম সম্ভাব্য উপায়ে তাদের কীভাবে ব্যবহার করা যায়

আজ, বিশ্বজুড়ে অন্যতম প্রিয় প্রোগ্রামিং ভাষা। নব্বইয়ের দশকে প্রতিষ্ঠার পর থেকে এটি একটি বিশাল অনুসরণকারী এবং উত্সাহী এবং কোডার যারা এই প্রোগ্রামিং ভাষাটিকে আরও উন্নত করতে প্রতিদিন কাজ করে তা অর্জন করেছে। পাইথন ইকোসিস্টেমটিতে অন্তর্নির্মিত অনেকগুলি বৈশিষ্ট্যের মধ্যে একটি হ'ল থ্রেডিং। সুতরাং এই নিবন্ধে আমরা পাইথনের থ্রেডিং সম্পর্কে সমস্ত কথা বলব, আপনি কীভাবে এর সুবিধা এবং অসুবিধাগুলির সাথে এটি ব্যবহার করতে পারেন।

নিম্নলিখিত পয়েন্টারগুলি এই নিবন্ধে কভার করা হবে,





আসুন শুরু করা যাক

পাইথনে থ্রেডিং

পাইথনে থ্রেড কী?

পাইথনের একটি থ্রেড কেবল কার্যকরভাবে পৃথক প্রবাহ হিসাবে সংজ্ঞায়িত করা যায়। এর সহজ অর্থ কী যা আপনার প্রোগ্রামে একই সাথে দুটি পৃথক প্রক্রিয়া চালিত হবে। পাইথনে থ্রেডিংয়ের একটি আকর্ষণীয় দিকটি হ'ল সত্য যে, সংস্করণ 3 এর পরে পাইথনের একাধিক থ্রেড একই সাথে কার্যকর করা হয় না, তবে কেবল এটি প্রদর্শিত হয়।



একইসাথে দুটি পৃথক প্রক্রিয়া চালানো এক বিস্ময়কর অনুভূতি হলেও, আপনার বুঝতে হবে যে পাইথন 3 এবং তারপরের বর্তমান সংস্করণটি এমনভাবে কোড করা হয়েছে, যে কোনও সময় নির্দিষ্ট সময়ে বিন্যাসটি চালানো যেতে পারে। তবে আপনাকে সিপিথনে একই সময়ে দু'একটি বেশি প্রক্রিয়া করার প্রয়োজন হলে আপনার কিছু কোড অন্য ভাষাতে যেমন সি, সি ++ এবং জাভাতে কোড করা প্রয়োজন এবং সেগুলি পাইথনের মাল্টি থ্রেডিংয়ের মাধ্যমে চালাতে হবে।

পাইথনে থ্রেডিংয়ের সর্বাধিক পরিচিত সুবিধার মধ্যে একটি হ'ল ডিজাইনের স্বচ্ছতা অর্জনের দক্ষতা।

পাইথনে থ্রেডিং সম্পর্কে আমাদের কিছু ধারণা থাকার আগে, আসুন কীভাবে একটি থ্রেড শুরু করবেন তা বুঝতে পারি,



পাইথনে থ্রেড শুরু করা

এখন আপনি পাইথনের কোনও সুতোর সংজ্ঞা নিতে অভ্যস্ত, আসুন আপনি কীভাবে পাইথনে আপনার নিজস্ব থ্রেড তৈরি করতে পারেন তার একটি উদাহরণ দেখে নেওয়া যাক। পাইথনে একটি থ্রেড তৈরি করতে, আপনাকে প্রথমে থ্রেড গ্রন্থাগারটি আমদানি করতে হবে এবং তারপরে নীচের উদাহরণে প্রদর্শিত হিসাবে এটি শুরু করার নির্দেশ দিন:

একটি অ্যারে জাভাস্ক্রিপ্ট আকার
আমদানি লগিং আমদানি থ্রেডিং আমদানির সময় ডিএফ থ্রেড_ফঙ্কশন (নাম): লগিং.ইনফো ('থ্রেড% s: আর্টিং', নাম) সময়.স্লাইপ (2) লগিং.ইনফো ('থ্রেড% s: ফিনিশিং', নাম) যদি __name__ == '__main__': ফর্ম্যাট = '% (অ্যাসটাইম) s:% (বার্তা) এর' লগিং.বেসিক কনফিগ (ফর্ম্যাট = ফর্ম্যাট, স্তর = লগিং.আইএনএফও, ডেটফেম্ট = '% এইচ:% এম:% এস') লগিং.info ( 'মুখ্য & অ্যাম্প্যাম্প্প্পন্বেস এবং অ্যাম্প্যাম্প্প্পন্প্পস: থ্রেড তৈরি করার আগে') x = থ্রেডিং h থ্রেড (টার্গেট = থ্রেড_ফংশান, আরগস = (১,)) লগিং.ইনফো ('মেইন এবং অ্যাম্প্যাম্প্প্পনপ্পস & অ্যাম্প্যাম্প্প্পনস্পেস: থ্রেড চালানোর আগে') & অ্যাম্প্যাম্প্প্পন্বেস: থ্রেডটি শেষ হওয়ার জন্য অপেক্ষা করুন ') # x.join () logging.info (' মূল ও অ্যাম্প্যাম্প্যাম্পন্প্পস & অ্যাম্প্যাম্প্প্প্পন্বেস: সব সম্পন্ন হয়েছে ')

আউটপুট

আউটপুট - পাইথনে থ্রেডিং - এডুরেকা

পাইথনে কোনও থ্রেড চালানোর সময় আপনি এটিকে একটি ফাংশন হিসাবে দিয়ে যান যাতে এটি সম্পাদন করার জন্য প্রয়োজনীয় যুক্তিগুলির একটি তালিকা থাকে contains উপরে ভাগ করা উদাহরণে, আপনি পাইথনকে থ্রেড, থ্রেড_ফানশন () চালানোর নির্দেশ দিচ্ছেন এবং এটি একটি আর্গুমেন্ট হিসাবে 1 এ পাস করুন।

আপনি যখন উপরের প্রোগ্রামটি চালাবেন, আউটপুটটি এরকম কিছু দেখাচ্ছে।

‘পাইথনে থ্রেডিং’ শীর্ষক এই নিবন্ধটির পরবর্তী অংশে আসুন দেখুন ডেমন থ্রেডগুলি কী,

ডেমন থ্রেড কি?

প্রযুক্তিগত পরিভাষায়, ডেমনকে এমন একটি প্রক্রিয়া হিসাবে সংজ্ঞায়িত করা যায় যা প্রাথমিকভাবে ব্যাকগ্রাউন্ডে চলে। তবে পাইথনে ডেমন থ্রেডের খুব নির্দিষ্ট অর্থ রয়েছে। পাইথনে ডেমন থ্রেডটি প্রোগ্রামটি বের হওয়ার সাথে সাথেই বন্ধ হয়ে যাবে, যদিও অন্যান্য প্রোগ্রামিং ভাষায় এটি পটভূমিতে চলতে থাকবে। যদি কোনও নির্দিষ্ট প্রোগ্রামে, একটি থ্রেড ডিমন থ্রেড হিসাবে প্রোগ্রাম না করা হয়, তবে দোভাষী তার কাজটি শেষ করার জন্য অপেক্ষা করবে এবং তারপরে কেবল দোভাষীকে বন্ধ করে দেবে।

এই ধারণাটি আরও ভালভাবে বোঝার জন্য উপরের উদাহরণটি একবার দেখুন। দ্বিতীয় শেষ লাইনে, প্রোগ্রামটি সমস্ত কাজ শেষ করার পরে কয়েক সেকেন্ডের জন্য অপেক্ষা করে। এর কারণ এটি নন-ডিমনিক থ্রেডটির অপারেশনটি শেষ করতে এবং তারপরে ইন্টারফেস থেকে প্রস্থান করার জন্য অপেক্ষা করছে। থ্রেডটির ক্রিয়াকলাপ শেষ হয়ে গেলে কেবলমাত্র প্রোগ্রামটি প্রস্থান করে।

এখন আসুন আমরা উপরের প্রোগ্রামটি পরিবর্তন করে দেখি কী হয়, যদি আমরা কোডটিতে একটি ডিমন থ্রেড প্রবেশ করি।

নতুন কোড: এক্স = থ্রেডিং h থ্রেড (টার্গেট = থ্রেড_ফাংশন, আরগস = (১,), ডিমন = ট্রু)

আপনি যখন উপরোক্ত প্রোগ্রামটি তৈরি করা পরিবর্তনগুলি দিয়ে চালাবেন, তখন এটি এমন কিছু দেখাচ্ছে।

এই দুটি ফলাফলের মধ্যে পার্থক্য হ'ল সর্বশেষ লাইনটি সর্বশেষতমটি থেকে অনুপস্থিত। থ্রেড_ফানশন () সম্পূর্ণ করার সুযোগ পায়নি, কারণ আমরা একটি ডিমন থ্রেড inোকিয়েছি এবং এটি শীঘ্রই এটি শেষের দিকে পৌঁছে, এটি প্রোগ্রামটি থেকে বেরিয়ে যায়।

একটি থ্রেড যোগদান

ইনফরমেশনটিতে রূপান্তরের ধরণ

আপনি যখন পাইথনে একটি থ্রেড তৈরির ধারণাটি এবং ডেমনিক থ্রেডের ধারণাটি শিখেছেন, আসুন আমরা কীভাবে পাইথনে থ্রেডগুলিতে যোগ দিতে পারি তা আবিষ্কার করি।

পাইথনে যোগদান () ফাংশনটি ব্যবহার করে আপনি দুটি পৃথক থ্রেডে যোগ দিতে পারেন এবং একজনের অপরটির সঞ্চালন শেষ না হওয়া পর্যন্ত অপেক্ষা করার নির্দেশও দিতে পারেন। আপনি বড় অ্যাপ্লিকেশন কোডিং করার সময় এই বৈশিষ্ট্যটি প্রায়শই কাজে আসবে এবং নির্দিষ্ট ক্রমে আপনার সমস্ত প্রক্রিয়া সম্পাদন করতে হবে

‘পাইথনে থ্রেডিং’ শীর্ষক এই নিবন্ধের চূড়ান্ত বিট আপনাকে কার্যকরী একাধিক থ্রেড প্রদর্শন করবে,

একাধিক থ্রেড নিয়ে কাজ করা

উপরোক্ত উদাহরণগুলিতে আমরা কীভাবে একবারে দুটি থ্রেড নিয়ে কাজ করতে পারি সে সম্পর্কে বলেছি। তবে যদি কোনও নির্দিষ্ট পরিস্থিতিতে আপনার একই সাথে একাধিক থ্রেড নিয়ে কাজ করা দরকার। পরিস্থিতিটি আরও ভালভাবে বোঝার জন্য নীচের উদাহরণটি দেখুন।

আমদানি লগিং আমদানি থ্রেডিং আমদানির সময় ডিএফ থ্রেড_ফঙ্কশন (নাম): লগিং.ইনফো ('থ্রেড% s: আর্টিং', নাম) সময়.স্লাইপ (2) লগিং.ইনফো ('থ্রেড% s: ফিনিশিং', নাম) যদি __name__ == '__main__': ফর্ম্যাট = '% (অ্যাসটাইম) s:% (বার্তা) এর' লগিং.বেসিক কনফিগ (ফর্ম্যাট = ফর্ম্যাট, স্তর = লগিং.আইএনএফও, ডেটফেম্ট = '% এইচ:% এম:% এস') থ্রেড = তালিকা ( ) পরিসীমা ইনডেক্সের জন্য (3): logging.info ('মূল & অ্যাম্প্যাম্প্যাম্পন্প্পস & অ্যাম্প্যাম্প্প্পন্বেস্ট: থ্রেড তৈরি করুন এবং শুরু করুন% d।', সূচি) x = থ্রেডিং। থ্রেড (টার্গেট = থ্রেড_ফানশন, আরগস = (ইনডেক্স,)) থ্রেড.পেনড (এক্স) ) x.start () সূচকের জন্য, অঙ্কের মধ্যে থ্রেড (থ্রেড): logging.info ('মূল & ampampampnbsp & ampampampnbsp: থ্রেড% d। যোগ করার আগে, সূচী) থ্রেড.জাইন () লগিং.ইনফো (' প্রধান & অ্যাম্প্যাম্প্যাম্পন্পস & অ্যাম্প্যাম্প্প্পনস্পেস: থ্রেড% d সম্পন্ন ', সূচক)

আউটপুট

উপরের প্রোগ্রামে আমরা থ্রেড গ্রন্থাগারটি আমদানি, থ্রেড শুরু করা, একাধিক থ্রেড তৈরি এবং তারপরে জোড় () ফাংশনটি সমস্ত একত্রিত করার জন্য এবং একটি নির্দিষ্ট ক্রমে কার্যকর করতে একই পদ্ধতি অনুসরণ করেছি।

আপনি যখন উপরের প্রোগ্রামটি চালাবেন, ফলাফলটি এরকম কিছু দেখাচ্ছে।

উপসংহার

এটি পাইথনের অন্যতম কার্যকর বৈশিষ্ট্য। এটি সঠিক উপায়ে ব্যবহার করে আপনি আপনার পুরো কোডিং প্রক্রিয়াটিকে আরও সহজ এবং দক্ষ করে তুলতে পারেন। উপরের নিবন্ধ থেকে আমরা আশা করি আপনি থ্রেডিংয়ের বেসিকগুলি শিখেছেন এবং এটি আপনার প্রতিদিনের প্রোগ্রামিংয়ে ব্যবহার করা চালিয়ে যাবেন।

তাই এটি ছেলেরা আমি আশা করি আপনি এই নিবন্ধটি পছন্দ করেছেন।

পাইথনের বিভিন্ন অ্যাপ্লিকেশন সহ গভীরতর জ্ঞান অর্জন করতে, আপনি এটি করতে পারেন 24/7 সমর্থন এবং আজীবন অ্যাক্সেস সহ লাইভ অনলাইন প্রশিক্ষণের জন্য।

আমাদের জন্য একটি প্রশ্ন আছে? এই নিবন্ধটির মন্তব্য বিভাগে তাদের উল্লেখ করুন এবং আমরা আপনার কাছে ফিরে আসব।