 بسم اللہ الرحمن الرحیم آج ہاں موڈیول 110 دسکس کریں گے یہ موڈیول ہے about thread issues پریویس لی ہم نے دیکھا تھا کہ thread کے ہمیں کیا advantage ہے ملتی thread it system کس طرح سے بہتر ہے as compared to a single threaded system لیکن threads کو آپ بہت زیادہ use نہیں کر سکتے threads کے بلا وجہ استعمال کرنے سے بھی ہمیں کچھ disadvantages مارے سامنے آتے ہیں تو وہ disadvantages ہم کچھ دسکس کرلتے ہیں ہر پوگرائم کے اندر ہمیں تھریڈنگ کی ضرورت نہیں پڑتی ہے اگر آپ ہر پوگرائم کے اندر تھریڈنگ بلا وجہ ڈالنے کو کوشش کریں گے تو اس کی وجہ سے کچھ مسئلیں آئے گے تھریڈنگ وہاں ہی استعمال کرنے ہیں جہاں اس کی ضرورت ہے اور جہاں اس کی ضرورت ہے وہاں پہ آپ تھریڈنگ use کر کے اپنے پوگرائم کو بہت سمبلیفائے کر سکتے ہیں اگر آپ وہ چیز single threaded طریق سے کریں گے کوشش کریں گے تو وہ آپ کے لیے کافی ڈیفیکلٹ ہوگا تو ہر کس میں تھریڈنگ کا استعمال بلا وجہ تھریڈنگ کا استعمال جہاں وہ ضروری نہیں ہیں تو ایک جو تھریڈنگ کا نقصان ہمیں سمجھ میں آتا ہے کہ ایک پروسس ہے اور اس پروسس کے اندر کئی تھریڈز ران ہو رہے ہیں تو اس پروسس کے جتنے بھی رسورسز ہیں وہ سارے رسورسز جو ہیں ان ساری تھریڈز کو ایک دو ہیں تین ہے چار ہیں جتنی بھی تھریڈز ہیں ان تمام تھریڈز کو اس کی رسورسز جو ہیں وہ اویلے بلہ ہیں اب کیوں کہ ایک تھریڈ کو پروسس کے سارے رسورسز نظر آ رہے ہیں تو ہو سکتا ہے کہ وہ ان ایڈویٹنڈ لی پروسس کے ساتھ یا دوسی تھریڈ کے ساتھ جو ہے کسی کسم کی انٹرفیرنس کریں کسی اور تھریڈ کا ڈیٹا ایکسس کریں تو یہ ایک پوزی بلیٹی ہے اور جب تھریڈنگ بیست کو پوگرام لکھا جاتا ہے تو اس چیز کو دیکھا جاتا ہے کو ایک تھریڈ جو ہے کسی دوسی تھریڈ کے ساتھ انٹرفیرنس نہ کریں یہ پوگرامر کی رسپانسی بلیٹی ہوتی ہے پھر ہر پوگرام کے اندر ہمیں کنکرنسی کی ضرورت نہیں ہوتے جس طرح بھی دیسکس کیا کچھ بڑے سیمپل سے پوگرام ہوتے ہیں اور اس کے اندر اگر آپ کنکرنسی بلا وجہ لیں گے تو وہ میکرس کو کمپلکیٹ کر دیں گے ان فکٹ اووریڈس کو انکریز کر دیں گے اور ہو سکتا پرفومنٹس بھی اوورال دیگریڈ ہو جائے تو آپ صرف تھریڈنگ تب بھی use کریں گے جب آپ کو اس کی ضرورت مسوص ہوتی ہے جب آپ سمجھتے ہیں کہ تھریڈنگ use کر کے آپ کا جو پوگرام میں بڑا سیمپلفائے ہو سکتا تو ہر پوگرام کے اندر تھریڈنگ استعمال کرنے کا کوئی پوڈ نہیں ہے تو سنگل تھریڈنگ for ڈیمپل اگر آپ نے ایک اپریشن پرفوم کرنے ہے ایک سیمپل لوب کی مدل سے آپ نے اپریشن پرفوم کرنے تو اس لوب والے فنکشن کے اندر بلا وجہ تھریڈنگ دال کے اور چانر پانچ تھریڈنگ کرنے گا آپ کو کوئی ادوانٹج نہیں ہے جب ایک ایک element process ہوتا ہے اس process اس کے process ہونے کی بعد جو output آتی ہے وہ next element نے use کرنے اور اس کی next element نے use کرنے اور اس کی next element نے use کرنے ہے تو یہ ایک بڑی سیمپل سی ڈیمپل ہے جس کے اندر آپ کو ڈریڈنگ کی ذوت نہیں ہے ساری چیزیں سیکوانشلی چلیں گی جب آپ کو لگتا ہے کہ کوئی ایسے اس کے اندر unit سے ہیں جو کہ کنکرنڈلی ڈیمپل ہو جاتے ہو سکتے ہیں جو ایک unit جو ہے دوسرے unit سے بالکل ڈیمپلڈنگ ہے بالکل ڈیس جوائنٹ ہے ایک unit کی information دوسرے unit کو کبھی بھی نہیں چاہیے ہو گی وہاں پہ آپ ڈریڈنگ کا استعمال کریں چیزوں کو کنکرنڈلی ڈیمپلڈنگ ران کریں تو آپ کے operations جو ہے وہ بہت فاستر ہو گئے لیکن جب سارے values یا units جو ہے وہ اپس میں سیکوانشلی جو ہے connected ہیں functionally dependent ہیں تو اس کی اس کے اندر ڈریڈنگ کا جو استعمال کرنا جو ہے وہ بیجا ہے اس کا کوئی خاص فائدہ آپ کو نہیں ہوگا بلکل اس سے overheads جو ہے وہ increase ہوں گے performance اور poor ہو جائے گی