[Powered by Google Translate] نیٹ HARDISON: جب آپ کو مل گیا ہے ایک سے زیادہ پروگرام پر کھولتے کمپیوٹر، یہ سب کچھ لگتا ہے ایک ہی وقت میں چل رہا ہے. مثال کے طور پر، آپ کو ایک ویب براؤزر میں کی طرح کام کرنا ہو سکتا ہے فائر فاکس یا انٹرنیٹ ایکسپلورر، iTunes پر موسیقی سن اور کلام کے ساتھ ایک مضمون لکھنے. تاہم، ڈاکو کے تحت اصل میں، پروگراموں ایک وقت میں ایک چلاتے ہیں. یہ آپریٹنگ سسٹم کا کام ہے، ونڈوز، میک OSX، یا لینکس، کے طور پر ان مختلف عمل کی ہر ایک، ان کا نظم کریں پروگراموں پر جانا جاتا ہے، کر رہے ہیں اور ان کے درمیان بہت سوئچ ہے کہ جب تم اپنے فیس بک کا صفحہ کی جانچ پڑتال سے اپنے مضمون کے لئے کام کر رہی ہیں پھر لفظ وہ جو چل رہا ہے. کبھی کبھی، اگرچہ، ہم خود کے قابل ہو جائے پروگراموں کی ضرورت ہے اس طرح ایک سے زیادہ کام کرنا بھی ہے. اگر آپ میری طرح ہیں، تو شاید آپ کا ایک گروپ ہے مختلف ٹیب کھولتے ہیں تو، آپ کے ویب براؤزر، ای میل کے لئے ایک ایک کیلنڈر کے ساتھ ایک، اور اسی طرح کی. ہم نے ایک علیحدہ پروگرام یا عمل کے طور پر ہر ایک کے ٹیب کا علاج کر سکتا ہے، کی طرح گوگل کروم ہے، لیکن بہت سے پروگراموں کا استعمال کرتے ہیں ایک ایسے عمل کے ورژن ہلکے وزن ایک موضوع قرار دیا ہے. موضوع صرف وسائل کے ایک یونٹ کا ایک سیٹ ہے ہدایات یا کوڈ ہے کہ "چلانے" کر سکتے ہیں، اقتباس unquote، concurrently دیگر موضوعات کے ساتھ. یہ ہے کہ کیا یہ ممکن ہے کے لئے آپ کو فیس بک براؤز کرتا ہے جبکہ پس منظر میں کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے متعلق سننے یا دو YouTube ویڈیوز کو ایک ہی وقت میں کھیل. تو، اس عام موضوع، concurrency کے طور پر جانا جاتا ہے، عام طور پر کرتا نہیں آ کمپیوٹر سائنس کے کورس میں اتنی جلد وجہ سے نچلے درجے تفصیلات کی بحث کی ضرورت ہوتی ہے آپریٹنگ سسٹم اور اس طرح. تاہم، ہم پروگرامنگ زبان میں استعمال کرتے ہیں شروع، سکریچ، CS50 کے کچھ نفٹی اوزار فراہم کرتا ہے آسان ایک سے زیادہ چیزوں کے ساتھ پروگراموں کو لکھنے کے لئے بنا ایک بار میں چل رہا ہے. جب آپ سکریچ پروگراموں تعمیر، آپ مسلسل ہو موضوعات کے ساتھ کام کر رہے ہیں. ہر سکریچ سکرپٹ ہے، جس میں ایک کوڈ کا ٹکڑا اس کے ساتھ شروع ہوتا ہے ہے "جب" پہیلی کے ٹکڑے ٹکڑے کر کے ایک، میں سوچا جا سکتا ہے ایک علیحدہ موضوع کے طور پر. چلو ایک سادہ سکریچ پروگرام میں یہ کس طرح کام کرتا ہے کو دیکھنے کے لئے نظر. یہاں، ہم دو اسکرپٹس کے ساتھ مچھلی، اعتراض، یا سپرائٹ ہے، کہ ہم دونوں آغاز تھوڑا سبز پرچم کے بٹن کو کلک کرنے پر. پہلے سکرپٹ مچھلی کی تحریک کو کنٹرول کرتا ہے. جب سبز پرچم پر کلک کیا جاتا ہے، مچھلی رکھ دیا گیا ہو جاتا ہے سکرین کے بائیں جانب پر، اسٹیج کہا جاتا ہے، کو درست کرنے کا سامنا ہے. اس وقت تک ہدایات ہے جو ہمیشہ کے لئے چلانے گے کا ایک سیٹ میں ہم مچھلی کے پروگرام کو روکنے کے لئے، دائیں جانب glides، ارد گرد بدل جاتا ہے، بائیں طرف واپس جاتا ہے، اور ارد گرد پھر سے کر دیتا ہے. دوسرا سکرپٹ مچھلی سوچ کے عمل کو کنٹرول کرتا ہے. یہ پتہ چلا ہے کہ یہ ایک بھوکا مچھلی ہے. تو 3 سیکنڈ کے لئے انتظار کرنے کے بعد مچھلی لگتا ہے، گا، "مجھے بھوک لگی ہے،" چوتھے دوسرے کے لئے. یہ سکرپٹ بھی ہمیشہ کے لئے چلا رہے ہیں. اور جیسا کہ ہم نے پروگرام چلا رہا کرنے سے کلک کر کے دیکھتے ہیں، سبز پرچم، دونوں سکرپٹ پھانسی ظاہر ایک ہی وقت میں. مچھلی منتقل، اور ایک ہی وقت میں سوچتا ہے. چونکہ غریب مچھلی بہت بھوک لگتی ہے تو، کچھ میں شامل ہیں اسے کھانے کے لئے cheesy puffs. امید ہے کہ وہ پانی میں disintegrate نہیں کرے گا. جب ہم ایک دوسرے سپرائٹ میں شامل کرتے ہیں، ہم کے قابل بھی ہو جائے گا کہ سپرائٹ پر اسی اسکرپٹ میں شامل کریں. اور، اس وجہ سے، وہاں کا کوئی دوسرے سیٹ ہو جائے گا موضوعات چلانے گے. ہمارے پروگرام کے کنٹرول کے صارف کو دیتا ہوں جب بھوک مچھلی کی خوراک ہو جاتا ہے، چلو کا کہنا ہے کہ جب بھی خلائی بار مارا ہے، cheesy puffs کے لئے اسٹیج پر نظر آتے ہیں مچھلی کھانے کے لئے. اس سے پہلے کہ ہم خلائی بار کو مارا، ہم cheesy رکھنا چاہیں گے puffs مخفی ہے تا کہ مچھلی انہیں نہیں دیکھ سکتے ہیں. ایسا کرنے کے لئے، ہم نے کے لئے سکرپٹ کے ایک جوڑے کی ضرورت ہو گی cheesy puffs سپرائٹ. پہلے سکرپٹ، سبز پرچم، خوراک چھپا دے گا. دوسرے اسکرپٹ ہم نے لکھا ہے کے برعکس، یہ ایک نہیں رکھیں گے ہمیشہ کے لئے چل رہا ہے. یہ شروع کرتے ہیں اور بہت جلد ختم، ہم درست کلک کریں سبز پرچم کے بٹن. اگلی سکرپٹ ہم نے انتظار خلائی بار کے لئے قتل سے پہلے پر زور دیا. ہم صارف کی ان پٹ کے لئے "انتظار" یا "سننے" انتظار کر رہے کہہ سکتے ہیں ایک تقریب کے لئے. اور کوڈ ہے کہ جب ایک تقریب یا موصول ہوئی ہے executes سنا ایونٹ کی ہینڈلنگ کوڈ کہا جاتا ہے. ہماری خلائی بار ایونٹ ہینڈلر cheesy puffs دکھایا جائے گا سکرین تا کہ مچھلی انہیں کھا سکتے ہیں. اس وقت سب کچھ اچھا لگ رہا ہے. اگلی بات ہم کیا کرنے کی ضرورت ہے اعداد و شمار پر کس طرح حاصل کرنے کے لئے ہے مچھلی کا احساس ہے کہ کھانا ہے. مچھلی ایک اور موضوع مسلسل کہ شامل چیک یا نہیں cheesy puffs چھونے ہے. ہم نے ایک علیحدہ موضوع میں اس طرح ہم کر سکتے ہیں کے بعد ایسا مسلسل کھانے کے لئے چیک کرنے کے لیے. دوسری صورت میں، ہم کھانے کے لئے باقاعدگی سے چیک کرنے کے لیے کے قابل ہی ہو جائے گا گلائڈنگ کے درمیان میں تقریبا رخ، انتظار، یا سوچ رہا تھا. ٹھیک ہے. اب ہماری سکریچ پروگرام چلائیں. کے طور پر امید کی جاتی ہے، خوراک کو فوری طور پر چھپاتا ہے اور بھوک مچھلی کو واپس swims اور بیان پہلے کی طرح. جب ہم نے خلائی بار کو مارا، cheesy puffs گئے مراسلے دیکھیے میں آتے ہیں، اور بھوک مچھلی وو کہتے ہیں. انتظار لیکن، یہ تو عجیب ہے. آتے مچھلی کے فکر مداخلت "میں بھوکا ہوں" کس طرح دیگر چیزیں؟ یہ اس لئے ہے کیونکہ ہم کوئی کوآرڈینیشن قائم نہیں کیا تین مچھلی سکرپٹ کے درمیان. ہر ایک کو اپنے موضوع میں چل رہا ہے، کیا سے غافل دوسروں کی کر رہے ہیں. چلو، اس سے پہلے کہ ہم پر منتقل کو ٹھیک کریں. موضوعات کے درمیان تعاون نے ہم سے ایک مشکل کام ہے جب ہر موضوع چلاتے پر واضح کنٹرول ہے یا نہیں نہیں چلاتے ہیں. ایک دھاگے سے ایک پر ایک پیغام بھیجنے کی ہمیں ضرورت ہے، کریں گے ایک متغیر ہے کہ ہم مقرر کریں، یا لکھ سکتے ہیں ایک موضوع میں استعمال کرتے ہیں، اور دوسرے میں پڑھیں. چلو نامی ایک متغیر foodFound کہ ہم مقرر کر سکتے ہیں بنانے کے سچ، جب مچھلی cheesy puffs میں چلتا ہے. ٹھیک ہے، ظاہر کی، ہم اس بات کا یقین کر لیں کہ ہم اس پر قائم کرنا چاہتے ہیں ابتدائی طور پر باطل ہے. اس کے بعد، مچھلی کی سوچ کے موضوع میں، ہم دیکھنے کے لئے چیک کرنے کے لیے کریں گے اگر مچھلی "مجھے بھوک لگی ہے" کی نمائش سے پہلے کھانا ملا ہے بلبلا سوچا. اب، پروگرام چلا رہا ایک بار پھر، ہم دیکھتے ہیں کہ مچھلی بھوک کے خیالات کے ساتھ نہیں میں خلل پیدا ہوگیا ہو جب cheesy puffs باہر ہیں. آخری مسئلہ ہے ہم نے کہ cheesy puffs نہیں جاتے ہو مچھلی کے دور کے بعد، unquote اقتباس، "کھا" ان. مچھلی کے اسکرپٹ سے کوئی cheesy کو چھپانے کے لئے آسان طریقہ ہے puffs، تو ہم cheesy puffs کو ایک پیغام بھیجنے کی ضرورت ہے خود کو چھپانے کے لئے سپرائٹ. ہم کسی دوسرے متغیر کے ساتھ یہ کر سکتا ہے کہ cheesy puffs سپرائٹ رسائی، کے ساتھ کے طور پر مچھلی سپرائٹ ہے. تاہم، اس معاملے میں اس کے لئے ایک صاف ستھرا طریقہ ہے، کے بعد ایک سکرپٹ ہے کہ ایک پیغام کو بھیجنے کے بجائے کہیں، ہم قتل کے وسط میں بھیج سکتے ہیں پیغام ایک سکرپٹ ہے کہ شروع کرنے کے لئے انتظار کر رہا ہے. ہم مچھلی رکھنے کی طرف سے اس کے نتیجے میں کوئی ایسا واقعہ، ایک ہم کریں گے نشر فون کھایا. اس کے بعد، ہم cheesy puffs گے کے لئے ایک سکرپٹ کو تشکیل دیں گے اس پروگرام کے لئے انتظار کریں. اس کے سوائے اس کے کہ یہ خلائی بار ایونٹ کی طرح ہے، وقت، صارف کو براہ راست ایونٹ ٹرگر نہیں ہے. اب ہم سب پر واجب ہے ہمارے foodFound متغیر واپس مقرر کیا گیا ہے جھوٹے، اور اب ہم کئی کے طور پر بھوک مچھلی دے سکتے ہیں cheesy puffs کے طور پر میں یہ چاہتا ہے سرونگ. اتنا برا بھی نہیں، ٹھیک ہے؟ C، کثیر موضوع کا پروگرام لکھ زیادہ پیچیدہ ہے، لیکن بنیادی باتیں ایک ہی ہیں. ویسے بھی، مجھے امید ہے کہ تم نے بہت اچھا وقت ہے کچھ مزہ کی تعمیر سکریچ میں سمورتی پروگرام. میرا نام نیٹ Hardison ہے. یہ CS50 ہے.