[Powered by Google Translate] NATE HARDISON: Siz var zaman çox proqramları açmaq kompüter, hər şeyi Agentliyi kimi görünür eyni zamanda çalışır. Məsələn, sizin kimi bir web browser çalışır bilər Firefox və ya Internet Explorer, iTunes musiqi dinləmək, və sözü ilə inşa yazı. Lakin, başlıq altında, proqramlar, həqiqətən, bir-bir axır. Bu, Windows, Mac OSX əməliyyat sisteminin iş var, və ya Linux kimi, bu ayrı-ayrı proseslərin hər idarə etmək proqramları məlumdur və onlar arasında keçid ki, zaman Sizin inşa üzrə iş üçün Facebook səhifə yoxlanılması getmək yenidən, Word çalışan olan biridir. Bəzən də, biz özləri edə proqramlar istəyirəm də bu kimi bir çox şeyə. Siz mənim kimi değilseniz, siz yəqin ki, bir dəstə var müxtəlif Nişanlar web brauzerinizin, e-poçt üçün bir açılacaq təqvim ilə və s. Biz ayrı-ayrı proqram və ya proses kimi hər nişanı müalicə edə bilər kimi Google Chrome edir, lakin bir çox proqramları istifadə prosesinin yüngül çəki versiyası mövzu çağırıb. A sap emal yalnız başqa vahidi, bir sıra təlimat və ya "Çalıştır" bilər ki, kodu, quote dırnağı bağlamaq, eyni zamanda digər mövzuları ilə. Bu mümkün Facebook göz üçün edir nə fonunda məni dinləmək və ya iki üçün isə YouTube videos eyni zamanda oynayır. Belə ki, concurrency kimi tanınan bu ümumi mövzu, adətən belə erkən kompüter kursları qədər deyil aşağı səviyyədə ətraflı müzakirə tələb çünki əməliyyat sistemləri və kimi. Lakin, proqramlaşdırma dili, biz də istifadə CS50 əvvəlinə, Not, bəzi uykusuz alətləri təmin edir asan çox şeyi proqramları yazmaq etmək bir dəfə gedir. Siz Not proqramları qurmaq zaman, daim istəyirik mövzuları ilə işləyir. Hər Not script, ilə başlayan bir kod blok deyil və "zaman" puzzle ədəd biri fikir ola bilər ayrı bir mövzu kimi. Nin necə bu işləri görmək üçün sadə Not proqram baxaq. Burada iki scripts, bir balıq obyekt və ya sprite var həm start biz az yaşıl bayraq düyməsinə basın zaman. Ilk script balıq hərəkət nəzarət edir. Yaşıl bayrağı tıklandığında zaman, balıq yerləşdirilmiş olur ekranın sol tərəfində, səhnəyə çağırıb sağ duran. Sonra əbədi qaçmaq lazımdır ki, təlimat bir sıra qədər biz proqramı dayandırmaq, balıq, sağ tərəfə sürüşür ətrafında dönür sol tərəfində geri gedir və yenə ətrafında dönür. İkinci script balıq nin fikir prosesində nəzarət edir. Bu bir ac balıq olduğunu çıxır. Belə ki, 3 saniyə gözlədikdən sonra, balıq, edirəm Dördüncü ikinci "Mən ac deyiləm". Bu script də əbədi çalışır. Və biz tıklayarak proqram yayınlanmasını, bax yaşıl bayraq, həm skriptlər icra görünür eyni zamanda. Balıq eyni zamanda hərəkət və düşünür. Yoxsul balıq belə ac görünür ildən isə bəzi əlavə bildirin yemək üçün cheesy layları. Ümid edirəm ki, onlar su dağılmaq deyil. Biz ikinci bir sprite əlavə, biz də edə bilərsiniz ki, sprite müvafiq yazıları əlavə edin. Və, beləliklə, bir set var olacaq ki run lazımdır mövzuları. Proqram nəzarət istifadəçi üzərində vermək üçün zaman ac balıq ərzaq alır, edək deyirlər ki, zaman Space Bar edib ki, cheesy layları üçün səhnədə görünür balıq yemək. Biz Space Bar hit əvvəl, biz cheesy saxlamaq lazımdır balıq onları görmək bilməz ki layları gizli. Bunu etmək üçün, biz üçün scripts bir neçə lazımdır cheesy layları sprite. Ilk script, yaşıl bayraq, yalnız ərzaq şəklində olacaq. Biz yazdıq başqa scripts fərqli olaraq, bu bir saxlamaq deyil əbədi çalışır. Bu basın sağ zaman başlamaq və çox tez başa çatacaq yaşıl bayrağı düyməsini basın. Space Bar olması üçün biz növbəti script gözləyəcəyik icra əvvəl basdı. Biz istifadəçi girişi üçün "gözləmə" və ya "dinləmək" gözləyir zəng edə bilərsiniz bir hadisə üçün. Və bir hadisə və ya qəbul olunduğu zaman həyata kod eşitdim hadisə user kodu adlanır. Bizim Space Bar hadisə handler üzrə cheesy layları göstərəcək ekran belə balıq onlara yemək bilər. Bu nöqtədə, hər şey yaxşı axtarır. Biz nə etmək lazımdır növbəti şey almaq üçün necə anlamaq üçün balıq yemək yemək var ki, həyata keçirmək. In ki, daim balıq başqa bir mövzu əlavə edək bu cheesy layları toxunan olsun və ya yoxlayır. Biz ki yol bəri ayrı bir mövzu bunu daim qida kontrol. Əks halda, biz yalnız vaxtaşırı ərzaq kontrol edə ediyorum gliding arasında, ətrafında dönüş gözləyir, ya düşünür. OK. İndi bizim Not proqram run imkan verir. Gözlənildiyi kimi, qida dərhal gizlədir və ac balıq geri swims və irəli əvvəl istəyirəm. Biz Space Bar hit zaman, cheesy layları keçirmək minir və ac balıq Whoo deyir. Amma qəribə ki, gözləyin. Balıq nin fikir interrupts "Mən ac deyiləm" Necə gəlmək digər məhsulları? Biz heç bir koordinasiya yaratmaq deyil, çünki bu üç balıq scripts arasında. Hər nə qədər unutqan öz mövzu çalışan digər edirlər. Biz hərəkət əvvəl bu düzeltmek edək. Mövzuları arasında koordinasiya biz ildən çətin vəzifə açıq hər mövzu çalıştırıldığında nəzarət və ya yoxdur çalışmaz. Bir mövzu başqa bir mesaj göndərmək üçün, biz lazımdır bir mövzu, biz qurmaq, və ya yazmaq olar ki, bir dəyişən istifadə və digər oxuyun. Gəlin biz müəyyən edə bilər ki, bir dəyişən adlı foodFound yaratmaq doğru balıq cheesy layları içinə axır zaman. Bəli, əlbəttə, biz onu müəyyən əmin etmək istəyirəm ilkin yalan. Sonra, balıq nin düşüncə sap, biz kontrol bilərsiniz əgər balıq "Mən ac deyiləm" gösteren əvvəl qida tapdı bubble düşündüm. İndi, proqram çalışan yenə görürük ki, balıq aclıq fikirləri ilə müdaxilə almaq deyil zaman cheesy layları deyillər. Biz son problem cheesy layları getmək yoxdur ki, üz balıq sonra, dırnağı bağlamaq sitat, onları "yeyir". Balıq scripts, bu cheesy gizlətmək üçün heç asan yolu yoxdur layları, biz cheesy layları bir mesaj göndərmək lazımdır özünü gizlətmək sprite. Biz başqa dəyişən bunu bilən cheesy layları sprite çıxışı, eləcə də balıq sprite var. Lakin, bu halda bunu təmiz yol var yerinə ki, bir script mesaj göndərmək ildən yerdə həyata ortasında, biz göndərə bilərsiniz başlamaq üçün gözləmə ki, bir script mesaj. Biz balıq edərək bunu biz will bir hadisə, bir yayımlanacaq yeyilmiş çağırırıq. Sonra biz ki cheesy layları üçün script yaratmaq lazımdır bu hadisə üçün gözləyin. Bu ki, bu istisna olmaqla, Space Bar hadisə kimi zaman, istifadəçi birbaşa hadisə tetiklemesini bir deyil. İndi biz nə üçün bütün foodFound dəyişən geri müəyyən edilir yalan və biz indi çox ac balıq verə bilər o istədiyi kimi cheesy layları və porsiyon. Belə ki, çox pis deyil, sağ? C, multi-yivli proqramları yazma, daha mürəkkəbdir lakin əsasları eynidir. Hər halda, mən sizi bir əyləncə tikinti böyük bir zaman var ümid Not ilə paralel proqramları. My name Nate Hardison edir. Bu CS50 edir.