ازگر میں تھریڈنگ: آیتھن میں دھاگوں کے ساتھ کام کرنے کا طریقہ سیکھیں



ازتھن میں تھریڈنگ پر یہ مضمون آپ کو بتائے گا کہ تھریڈز کیا ہیں ، اس کی اقسام ، انہیں کیسے شروع کیا جائے اور ان کا بہترین ممکنہ طریقے سے استعمال کیا جائے۔

آج ، دنیا بھر میں ایک سب سے زیادہ پسندیدہ پروگرامنگ زبانوں میں سے ایک ہے۔ 1990 کی دہائی میں اپنے قیام کے بعد سے ، اس نے ایک بہت بڑا پیروکار اور شائقین اور کوڈر تیار کیے ہیں جو اس پروگرامنگ زبان کو بہتر بنانے کے لئے ہر روز کام کرتے ہیں۔ ازگر ماحولیاتی نظام میں بہت ساری خصوصیات جو بلٹ میں آتی ہیں ان میں تھریڈنگ ہے۔ لہذا اس آرٹیکل میں ، ہم ازگر میں تھریڈنگ کے بارے میں سب بات کریں گے ، اس کے فوائد اور نقصانات کے ساتھ ساتھ آپ اسے کس طرح استعمال کرسکتے ہیں۔

اس مضمون میں مندرجہ ذیل نکات کا احاطہ کیا جائے گا ،





آئیے شروع کریں

ازگر میں تھریڈنگ

ازگر میں تھریڈ کیا ہے؟

ازگر میں ایک دھاگے کو صرف پھانسی کے الگ بہاؤ کے طور پر بیان کیا جاسکتا ہے۔ اس کا سیدھا مطلب یہ ہے کہ آپ کے پروگرام میں ایک ہی وقت میں دو مختلف عمل چلائے جائیں گے۔ ازگر میں تھریڈنگ کا ایک دلچسپ پہلو یہ حقیقت ہے کہ ، ورژن 3 کے بعد ازگر میں ایک سے زیادہ تھریڈ ایک ہی وقت میں نہیں چلائے جاتے ہیں ، لیکن وہ محض ظاہر ہوتے ہیں۔



اگرچہ یہ ایک حیرت انگیز احساس ہے کہ بیک وقت دو مختلف عمل چل رہے ہیں ، لیکن ہمیں یہ سمجھنے کی ضرورت ہے کہ ازگر 3 اور اس سے اوپر کا موجودہ ورژن اس طرح سے کوڈ کیا گیا ہے ، کہ وقت پر کسی بھی مقام پر صرف عمل چلایا جاسکتا ہے۔ اگر آپ کو ایک ہی وقت میں سی پیٹھون میں دو یا زیادہ سے زیادہ عملدرآمد کرنے کی ضرورت ہے تو ، آپ کو اپنا کچھ کوڈ دوسری زبانوں میں ، جیسے C ، C ++ اور جاوا میں کوڈ کرنے کی ضرورت ہے ، اور پھر انھیں ازگر میں ملٹی تھریڈنگ کے ذریعے چلائیں۔

ازگر میں تھریڈنگ کے سب سے معروف فوائد میں سے ایک یہ ہے کہ ڈیزائن کی وضاحت میں اضافے کی صلاحیت ہے۔

اس سے پہلے کہ ہمارے پاس ازگر میں تھریڈنگ کے بارے میں کچھ اندازہ رکھتے ہیں ، آئیے ہم ایک تھریڈ شروع کرنے کا طریقہ سمجھیں ،



ازگر میں تھریڈ شروع کرنا

اب جب کہ آپ ازگر میں دھاگے کی تعریف کے عادی ہیں ، آئیے ایک مثال پر ایک نظر ڈالیں کہ آپ ازگر میں اپنا تھریڈ کس طرح بنا سکتے ہیں۔ ازگر میں تھریڈ بنانے کے ل you ، آپ کو پہلے تھریڈ لائبریری درآمد کرنے کی ضرورت ہوگی اور پھر اسے شروع کرنے کی ہدایت دیں جیسا کہ ذیل کی مثال میں دکھایا گیا ہے:

ازگر میں ایک اہم خامی کیا ہے؟
درآمد لاگنگ درآمد تھریڈنگ درآمد کا وقت ڈیف تھریڈ فنکشن (نام): logging.info ('تھریڈ٪ s: شروع'، نام) وقت. نیند (2) logging.info ('تھریڈ٪ s: فائننگنگ'، نام) اگر _______= '__main__': format = '٪ (ascime) s:٪ (message) s' logging.basicConfig (format = format، level = logging.INFO، datefmt = '٪ H:٪ M:٪ S') لاگنگ.info ( 'مین اینڈ امیمپیمپ نپسٹ & ایمپیمپمپپن: تھریڈ بنانے سے پہلے') x = تھریڈنگ۔ تھریڈ (ٹارگٹ = تھریڈ فنکشن ، آرگس = (1،)) لاگنگ ان انڈو ('مین اینڈ امپیمپمپپلیسم اور ایمپیمپمپینس: تھریڈ چلانے سے پہلے') x.start () logging.info ' & ampampampnbsp: دھاگہ ختم ہونے کا انتظار کریں ') # x.join () logging.info (' مین & ایمپیمپمپپلیفس & ایمپیمپمپپن: تمام ہو گیا ')

آؤٹ پٹ

آؤٹ پٹ - ازگر میں تھریڈنگ - ایڈیورکا

ازگر میں جب تھریڈ چلاتے ہیں تو آپ اسے ایک فنکشن کے طور پر آگے بڑھاتے ہیں جس میں دلائل کی فہرست ہوتی ہے جس پر اسے چلانے کی ضرورت ہوتی ہے۔ مذکورہ بالا مشترکہ مثال میں ، آپ ازگر کو تھریڈ ، تھریڈ فنکشن () چلانے اور اسے ایک دلیل کے طور پر 1 پر منتقل کرنے کی ہدایت کر رہے ہیں۔

جب آپ مذکورہ پروگرام چلاتے ہیں تو آؤٹ پٹ کچھ اس طرح نظر آئے گا۔

’’ ازگر میں تھریڈنگ ‘‘ کے اس مضمون کا اگلا سا ہم آئیے دیکھیں کہ ڈیمن تھریڈز کیا ہیں ،

ڈیمن تھریڈز کیا ہیں؟

تکنیکی اصطلاحات میں ، ڈیمون کو ایک عمل کے طور پر بیان کیا جاسکتا ہے جو بنیادی طور پر پس منظر میں چلتا ہے۔ تاہم ، ازگر میں ، ڈیمون دھاگے کا ایک خاص معنی ہے۔ ازگر میں ڈیمون دھاگہ اسی وقت بند ہوگا جب پروگرام کے وجود میں آیا ، حالانکہ دیگر پروگرامنگ زبانوں میں یہ پس منظر میں چلتا رہے گا۔ اگر کسی خاص پروگرام میں ، ایک تھریڈ ڈیمون تھریڈ ہونے کی حیثیت سے پروگرام نہیں کیا جاتا ہے ، تو مترجم اس کا اپنا عمل ختم ہونے کا انتظار کرے گا اور پھر صرف ترجمان کو بند کردے گا۔

انٹری لیول ازگر ڈویلپر دوبارہ شروع کریں

اس تصور کو بہتر طور پر سمجھنے کے لئے مذکورہ بالا مثال پر ایک نظر ڈالیں۔ دوسری آخری سطر میں ، پروگرام اپنے تمام کام مکمل کرنے کے بعد کچھ سیکنڈ کا انتظار کرتا ہے۔ اس کی وجہ یہ ہے کہ وہ غیر ڈیمونک دھاگے کا اپنے عمل کو ختم کرنے اور پھر انٹرفیس سے باہر نکلنے کے منتظر ہے۔ ایک بار جب تھریڈ اپنا کام ختم کر دیتا ہے ، تب صرف پروگرام ہی باہر نکلتا ہے۔

اب ہم مذکورہ پروگرام میں ترمیم کریں اور دیکھیں کہ کیا ہوتا ہے ، اگر ہم کوڈ میں ڈییمون تھریڈ داخل کریں۔

نیا کوڈ: x = تھریڈنگ۔ تھریڈ (ہدف = تھریڈ_فنکشن ، آرگس = (1 ،) ، ڈیمون = ٹرو)

جب آپ مذکورہ ترمیم کے ساتھ مذکورہ پروگرام کو چلاتے ہیں تو ، یہ کچھ اس طرح نظر آئے گا۔

ان دونوں آؤٹ پٹس کے مابین فرق یہ ہے کہ آخری لائن حرف تازہ ترین سے غائب ہے۔ تھریڈ فنکشن () کو مکمل کرنے کا موقع نہیں ملا ، کیوں کہ ہم نے ڈیمون تھریڈ داخل کیا اور جیسے ہی یہ اختتام کو پہنچا ، اس نے پروگرام سے باہر ہو گیا۔

ایک دھاگے میں شامل ہونا

اب جب آپ ڈیتھونک تھریڈ کے تصور کے ساتھ ازگر میں تھریڈ بنانے کے تصور کے بارے میں بھی سیکھ چکے ہیں ، آئیے ہم دریافت کریں کہ آپ ازگر میں دھاگوں میں کیسے شامل ہو سکتے ہیں۔

ازگر میں جوائن () فنکشن کا استعمال کرکے آپ دو مختلف تھریڈز میں شامل ہوسکتے ہیں ، اور ایک کو دوسرے کے انتظار میں رہنے کی ہدایت بھی کرتے ہیں جب تک کہ اس کی تکمیل تکمیل نہ ہوجائے۔ جب آپ بڑی ایپلی کیشنز کو کوڈ کر رہے ہوتے ہیں تو آپ کی خصوصیت اکثر کارآمد ہوگی اور آپ کو ایک خاص ترتیب میں تمام عمل کو انجام دینے کی ضرورت ہوگی۔

’ازگر میں تھریڈنگ‘ پر اس مضمون کا آخری حصہ آپ کو کام کرنے والے ایک سے زیادہ تھریڈز دکھائے گا ،

ایک سے زیادہ دھاگوں کے ساتھ کام کرنا

مندرجہ بالا مثالوں میں ہم نے اس کے بارے میں بات کی ہے کہ آپ ایک ساتھ دو دھاگوں سے کیسے کام کرسکتے ہیں۔ لیکن کیا ہوگا اگر کسی خاص صورتحال میں ، آپ کو بیک وقت ایک سے زیادہ تھریڈز کے ساتھ کام کرنے کی ضرورت ہے۔ صورتحال کو بہتر طور پر سمجھنے کے لئے ، نیچے دی گئی مثال پر ایک نظر ڈالیں۔

درآمد لاگنگ درآمد تھریڈنگ درآمد کا وقت ڈیف تھریڈ فنکشن (نام): logging.info ('تھریڈ٪ s: شروع'، نام) وقت. نیند (2) logging.info ('تھریڈ٪ s: فائننگنگ'، نام) اگر _______= '__main__': format = '٪ (ascime) s:٪ (message) s' logging.basicConfig (format = format، level = logging.INFO، datefmt = '٪ H:٪ M:٪ S') تھریڈ = فہرست ( ) انڈیکس کیلئے رینج میں (3): logging.info ('مین & ampampampnbsp & ampampampnbsp: تھریڈ بنائیں اور شروع کریں٪ d.'، انڈیکس) x = تھریڈنگ۔ تھریڈ (ہدف = تھریڈ_فنکشن، آرگس = (انڈیکس،)) تھریڈز۔ x )۔ مکمل '، انڈیکس)

آؤٹ پٹ

ایک سیٹ بنانے کے لئے کس طرح جھانکنا

مذکورہ پروگرام میں ہم نے تھریڈ لائبریری کو درآمد کرنے ، دھاگے کو شروع کرنے ، متعدد دھاگے بنانے اور پھر جوڑنے () فنکشن کا استعمال کرتے ہوئے سب کو اکٹھا کرنے اور کسی خاص ترتیب میں عمل میں لانے کے اسی طریقہ کار پر عمل کیا ہے۔

جب آپ مذکورہ پروگرام چلاتے ہیں تو ، نتیجہ کچھ اس طرح نظر آئے گا۔

نتیجہ اخذ کرنا

یہ ازگر کی سب سے آسان خصوصیات میں سے ایک ہے۔ اسے صحیح طریقے سے استعمال کرکے ، آپ اپنے کوڈنگ کے پورے عمل کو زیادہ آسان اور موثر بناسکتے ہیں۔ مذکورہ مضمون سے ہم امید کرتے ہیں کہ آپ نے تھریڈنگ کی بنیادی باتیں سیکھی ہیں اور آپ اسے روزانہ کے پروگرامنگ میں استعمال کرتے رہیں گے۔

تو یہ ہے یہ لوگ مجھے امید ہے کہ آپ کو یہ مضمون پسند آیا ہوگا۔

اس کی مختلف ایپلیکیشنز کے ساتھ ازگر پر گہرائی سے معلومات حاصل کرنے کے ل you ، آپ کر سکتے ہیں 24/7 مدد اور زندگی بھر تک رسائی کے ساتھ براہ راست آن لائن تربیت کے ل.۔

ہمارے لئے ایک سوال ہے؟ اس مضمون کے تبصرے والے حصے میں ان کا تذکرہ کریں اور ہم آپ کو واپس ملیں گے۔