[Powered by Google Translate] नैट Hardison: जब आप मिल गया है कई कार्यक्रमों पर खुला कंप्यूटर, यह सब कुछ की तरह लगता है एक ही समय में चल रहा है. उदाहरण के लिए, आप की तरह एक वेब ब्राउज़र में काम किया जा सकता है Firefox या Internet Explorer, iTunes पर संगीत सुनने, और शब्द के साथ एक निबंध लेखन. हालांकि, हुड के तहत, वास्तव में कार्यक्रमों एक समय में चला रहे हैं. यह ऑपरेटिंग सिस्टम का काम है, विंडोज, मैक OSX, या लिनक्स, प्रत्येक इन अलग प्रक्रियाओं के प्रबंधन के रूप में, कार्यक्रमों में जाना जाता है, कर रहे हैं और उन दोनों के बीच स्विच है कि आप जब अपने Facebook पृष्ठ की जाँच से अपने निबंध पर काम करने के लिए जाना फिर, एक शब्द है कि चल रहा है है. कभी कभी, हालांकि, हम खुद करने में सक्षम होने के लिए कार्यक्रम करना चाहते हैं इस तरह से कई बातें भी करते हैं. अगर तुम मुझे पसंद कर रहे हैं, तो आप शायद का एक गुच्छा है अलग टैब अपने वेब ब्राउज़र, एक ईमेल के लिए खोलने के लिए, एक कैलेंडर के साथ, एक और इतने पर. हम एक अलग कार्यक्रम या प्रक्रिया के रूप में प्रत्येक टैब का इलाज हो सकता है, तरह गूगल क्रोम करता है, लेकिन कई कार्यक्रमों का उपयोग करें एक प्रक्रिया के संस्करण हल्का वजन एक धागा बुलाया. धागा सिर्फ प्रसंस्करण की एक और इकाई का एक सेट है निर्देश या कोड है कि "रन" कर सकते हैं, बोली गंदें शब्द बोलना, समवर्ती अन्य धागे के साथ. यह वही है जो आप फेसबुक ब्राउज़ करने के लिए यह संभव बनाता है जबकि पृष्ठभूमि में मुझे सुनने या दो यूट्यूब वीडियो एक ही समय में खेल रहा है. तो, इस सामान्य विषय, संगामिति के रूप में जाना जाता है, आम तौर पर तो कंप्यूटर विज्ञान के पाठ्यक्रमों में जल्दी आने के लिए नहीं क्योंकि निचले स्तर के विवरण की चर्चा की आवश्यकता है ऑपरेटिंग सिस्टम और पसंद है. हालांकि, प्रोग्रामिंग भाषा हम पर प्रयोग शुरुआत CS50 की, खरोंच, कुछ गंधा उपकरण प्रदान करता है यह आसान करने के लिए कई चीजों के साथ कार्यक्रमों को लिखने के लिए करते हैं एक ही बार में चल रहा है. जब आप स्क्रैच कार्यक्रमों का निर्माण, आप लगातार कर रहे हैं धागे के साथ काम कर रहा है. प्रत्येक स्क्रैच स्क्रिप्ट, जो एक कोड ब्लॉक कि के साथ शुरू होता है "जब" पहेली टुकड़े के बारे में सोचा जा सकता है एक अलग धागे के रूप में. चलो एक सरल स्क्रैच कार्यक्रम को देखने के लिए यह कैसे काम करता है देखने. यहाँ, हम एक मछली, वस्तु, या प्रेत दो लिपियों के साथ मिल गया है, कि दोनों शुरू जब हम छोटे हरा झंडा बटन पर क्लिक करें. पहली स्क्रिप्ट मछली की गति को नियंत्रित करता है. जब हरी झंडा क्लिक किया जाता है, मछली रखा जाता है स्क्रीन के बाईं ओर पर, चरण कहा जाता है, सही करने के लिए का सामना करना पड़ रहा है. हम तो निर्देश है कि हमेशा के लिए चला जाएगा का एक सेट में, जब तक कार्यक्रम को रोकने के लिए, मछली को दाईं तरफ glides, चारों ओर मुड़ता है, बाईं ओर वापस चला जाता है, और चारों ओर फिर से बदल जाता है. 2 स्क्रिप्ट मछली सोचा प्रक्रिया को नियंत्रित करता है. यह पता चला है कि यह एक भूख मछली है. तो 3 सेकंड के लिए प्रतीक्षा करने के बाद, मछली के बारे में सोचना होगा, "मुझे भूख लगी है," एक चौथी दूसरे के लिए. यह स्क्रिप्ट भी हमेशा के लिए चलाता है. और जैसा कि हम कार्यक्रम चलने से, क्लिक करके देख हरा झंडा, दोनों लिपियों निष्पादित करने के लिए दिखाई देते हैं एक साथ. मछली चलता रहता है और एक ही समय में सोचता है. चूंकि गरीब मछली इतनी भूख लग रहा है, चलो कुछ में जोड़ने यह खाने के लिए घटिया puffs. उम्मीद है कि वे पानी में बिखर जाएगा. जब हम एक दूसरे प्रेत में जोड़ने के लिए, हम भी करने में सक्षम हो जाएगा कि प्रेत इसी लिपियों में जोड़ने. और, इसलिए, वहाँ का एक और सेट हो जाएगा धागे कि चलने देंगे. हमारे नियंत्रण कार्यक्रम के उपयोगकर्ता पर देने के लिए जब भूख मछली खाना हो जाता है, चलो का कहना है कि जब भी अंतरिक्ष बार मारा है, पनीर puffs के लिए मंच पर दिखाई देते हैं मछली खाने के लिए. इससे पहले कि हम स्पेस बार मारा, हम घटिया रखना चाहती हूँ puffs छिपा इतना है कि मछली उन्हें नहीं देख सकता. ऐसा करने के लिए, हम के लिए स्क्रिप्ट की एक जोड़ी की आवश्यकता होगी घटिया प्रेत puffs. पहली स्क्रिप्ट, हरा झंडा, सिर्फ खाना छिपा होगा. हम लिखा है कि अन्य लिपियों के विपरीत, यह एक नहीं रखेंगे हमेशा के लिए चल रहा है. इसे शुरू करने के लिए और बहुत जल्दी समाप्त होगा, सही है, जब हम क्लिक करें हरा झंडा बटन. हम अगले स्क्रिप्ट के लिए स्पेस बार होने के लिए इंतजार करेंगे क्रियान्वित करने से पहले दबाया. हम उपयोगकर्ता इनपुट के लिए "प्रतीक्षा" या "सुन" इंतज़ार कर फोन कर सकते हैं एक घटना के लिए. और कोड निष्पादित करता है कि जब एक घटना या प्राप्त होता है सुना घटना से निपटने कोड कहा जाता है. हमारे स्पेस बार ईवेंट हैंडलर पर घटिया puffs दिखा देंगे स्क्रीन इतना है कि मछली उन्हें खा सकते हैं. इस बिंदु पर, सब कुछ अच्छा लग रहा है. अगली बात हम क्या करने की जरूरत के लिए बाहर आंकड़ा कैसे पाने के लिए है मछली का एहसास करने के लिए है कि वहाँ खाने के लिए भोजन है. मछली के लिए एक और धागा है कि लगातार बढ़ चेक किया जाए या नहीं यह पनीर puffs को छू रहा है. हम एक अलग धागे में है कि जिस तरह से हम कर सकते हैं के बाद से ऐसा लगातार भोजन के लिए जाँच करें. अन्यथा, हम केवल भोजन के लिए समय - समय पर जांच करने में सक्षम होगी ग्लाइडिंग के बीच में, चारों ओर मोड़, इंतज़ार कर रही है, या सोच रही है. ठीक है. अब चलो हमारे स्क्रैच कार्यक्रम चला. जैसी कि उम्मीद थी, भोजन तुरंत खाल और भूख मछली तैरती है और आगे अभी पहले की तरह. जब हम अंतरिक्ष बार मारा, पनीर puffs देखने में आते हैं, और भूख मछली वू कहते हैं. लेकिन रुकिए, कि अजीब है. कैसे आ मछली सोचा बीच में आता है "मुझे भूख लगी है." अन्य सामान? यह इसलिए है क्योंकि हम किसी भी समन्वय स्थापित नहीं किया तीन मछली लिपियों के बीच. प्रत्येक अपने स्वयं के धागे में चल रहा है, क्या करने के लिए अनजान दूसरों कर रहे हैं. चलो यह ठीक से पहले हम पर स्थानांतरित. धागे के बीच समन्वय के बाद से हम एक मुश्किल काम है जब प्रत्येक सूत्र चलाता है पर स्पष्ट नियंत्रण है या नहीं है चलाने के लिए नहीं करता है. एक सूत्र से दूसरे के लिए एक संदेश भेजने के लिए, हम की आवश्यकता होगी एक धागे में एक चर है कि हम निर्धारित करते हैं, या लिख ​​सकते हैं, का उपयोग और अन्य में पढ़ा. चलो एक चर बुलाया foodFound है कि हम करने के लिए सेट कर सकते हैं सच है जब मछली घटिया puffs में चलाता है. ठीक है, बेशक, हमें यकीन है कि हम यह करने के लिए सेट बनाना चाहते हैं शुरू में गलत. फिर, मछली सोच धागे में, हम को देखने के जांच करेंगे अगर मछली "मैं भूखा हूँ" प्रदर्शित करने से पहले खाना मिल गया है बुलबुला सोचा. अब, इस कार्यक्रम के फिर से चल रहा है, हम देखते हैं कि मछली बाधित हो नहीं भूख के विचारों के साथ जब घटिया puffs बाहर हैं. हम अंतिम समस्या यह है कि घटिया puffs जाना नहीं है , उन्हें दूर मछली के बाद, बोली गंदें शब्द बोलना "खाती". मछली स्क्रिप्ट से, वहाँ कोई आसान घटिया छिपा है puffs, तो हम घटिया puffs के लिए एक संदेश भेजने की जरूरत है प्रेत खुद को छिपाने के लिए. हम एक और चर के साथ यह कर सकता है कि घटिया puffs प्रेत का उपयोग, के रूप में के रूप में अच्छी तरह से मछली प्रेत है. हालांकि, इस मामले में यह करने के लिए एक क्लीनर तरीका है, बजाय एक स्क्रिप्ट है कि एक संदेश भेजने के बाद से को क्रियान्वित करने के बीच में कहीं न कहीं, हम भेज सकते हैं संदेश एक स्क्रिप्ट है कि शुरू करने के लिए इंतजार कर रहा है. हम मछली होने से इस एक घटना, एक हम करेंगे प्रसारण खाया कहते हैं. तो, हम घटिया puffs कि करेगा के लिए एक स्क्रिप्ट बना देंगे इस घटना के लिए इंतजार. सिवाय इसके कि इस इस स्पेस बार घटना के लिए इसी तरह की है समय, उपयोगकर्ता एक सीधे घटना को ट्रिगर नहीं है. अब हम सभी को करना है हमारे foodFound चर वापस सेट कर दिया जाता है गलत है, और हम अब के रूप में कई भूख मछली दे सकते हैं घटिया puffs के रूप में यह चाहता है की सर्विंग्स. तो भी बुरा नहीं है, है ना? सी में, बहु लड़ी पिरोया प्रोग्राम लिखने और अधिक जटिल है, लेकिन मूल बातें वही कर रहे हैं. वैसे भी, मुझे आशा है कि आप एक महान समय कुछ मज़ा निर्माण खरोंच में समवर्ती कार्यक्रमों. मेरा नाम नैट Hardison है. यह CS50 है.