1 00:00:07,360 --> 00:00:09,360 [Powered by Google Translate] Nate HARDISON: Meta inti ħadthom ltqajna programmi multipli miftuħa fuq 2 00:00:09,360 --> 00:00:11,250 kompjuter, jidher li huwa simili kollox l- 3 00:00:11,250 --> 00:00:12,880 running fl-istess ħin. 4 00:00:12,880 --> 00:00:15,350 Per eżempju, inti tista 'tkun taħdem fil-web browser bħal 5 00:00:15,350 --> 00:00:19,360 Firefox jew Internet Explorer, jisimgħu l-mużika fuq iTunes, 6 00:00:19,360 --> 00:00:21,490 u kitba ta 'esej mal-Kelma. 7 00:00:21,490 --> 00:00:24,240 Madankollu, taħt il-barnuża, il-programmi fil-fatt 8 00:00:24,240 --> 00:00:25,830 run wieħed kull darba. 9 00:00:25,830 --> 00:00:29,750 Hu l-impjieg tas-sistema operattiva, Windows, Mac OSX, jew 10 00:00:29,750 --> 00:00:33,070 Linux, biex tmexxi kull wieħed minn dawn il-proċessi separati, bħala l- 11 00:00:33,070 --> 00:00:35,900 programmi huma magħrufa, u jaqilbu bejniethom b'tali mod li meta inti 12 00:00:35,900 --> 00:00:38,610 jmorru minn verifika Facebook page tiegħek li taħdem fuq essay tiegħek 13 00:00:38,610 --> 00:00:41,590 għal darb'oħra, Word huwa dak li l-ġirja. 14 00:00:41,590 --> 00:00:44,890 >> Kultant, għalkemm, irridu programmi ruħhom biex ikunu jistgħu 15 00:00:44,890 --> 00:00:47,440 biex tagħmel affarijiet multipli bħal dan, wisq. 16 00:00:47,440 --> 00:00:49,630 Jekk int simili me, inti probabilment jkollhom mazz ta ' 17 00:00:49,630 --> 00:00:52,730 tabs differenti miftuħa fil-web browser tiegħek, waħda għal email, 18 00:00:52,730 --> 00:00:55,070 wieħed bil-kalendarju, u l-bqija. 19 00:00:55,070 --> 00:00:58,270 Nistgħu jittrattaw lil kull tab bħala programm separat jew proċess, 20 00:00:58,270 --> 00:01:01,300 bħall-Google Chrome ma, iżda ħafna programmi juża 21 00:01:01,300 --> 00:01:04,430 eħfef piż verżjoni ta 'proċess imsejħa ħajt. 22 00:01:04,430 --> 00:01:07,190 >> A ħajt huwa biss ieħor unità ta 'proċessar, sett ta' 23 00:01:07,190 --> 00:01:10,100 istruzzjonijiet jew kodiċi li jistgħu "run", unquote kwotazzjoni, 24 00:01:10,100 --> 00:01:12,560 flimkien ma 'ħjut oħra. 25 00:01:12,560 --> 00:01:15,150 Dan huwa dak li jagħmilha possibbli għalik li jibbrawżjaw Facebook 26 00:01:15,150 --> 00:01:17,940 li jingħata widen lill lili fl-isfond jew li jkollha żewġ 27 00:01:17,940 --> 00:01:20,790 YouTube videos jilagħbu fl-istess ħin. 28 00:01:20,790 --> 00:01:24,660 Għalhekk, dan is-suġġett ġenerali, magħrufa bħala concurrency, tipikament 29 00:01:24,660 --> 00:01:26,930 ma toħroġ daqshekk kmieni fil-korsijiet tax-xjenza tal-kompjuter 30 00:01:26,930 --> 00:01:29,790 minħabba d-dettalji 'livell aktar baxx jeħtieġu diskussjoni ta' 31 00:01:29,790 --> 00:01:31,930 sistemi operattivi u simili. 32 00:01:31,930 --> 00:01:34,170 Madankollu, il-lingwa ta 'programmar li nużaw fil- 33 00:01:34,170 --> 00:01:38,000 bidu ta 'CS50, Scratch, tipprovdi ċerti għodod nifty li 34 00:01:38,000 --> 00:01:40,390 jagħmilha aktar faċli biex jiktbu programmi ma 'affarijiet multipli 35 00:01:40,390 --> 00:01:42,390 għaddejjin f'daqqa. 36 00:01:42,390 --> 00:01:45,050 >> Meta inti tibni programmi Scratch, int dejjem 37 00:01:45,050 --> 00:01:46,760 jaħdmu ma 'ħjut. 38 00:01:46,760 --> 00:01:49,770 Kull b'kitba Scratch, li huwa blokk kodiċi li jibda bil 39 00:01:49,770 --> 00:01:52,600 wieħed mill-biċċiet "meta wieħed" puzzle, jistgħu jiġu meqjusa 40 00:01:52,600 --> 00:01:54,380 bħala ħajt separata. 41 00:01:54,380 --> 00:01:58,040 Ejja nħarsu lejn programm scratch sempliċi biex tara kif taħdem din. 42 00:01:58,040 --> 00:02:01,730 >> Hawnhekk, konna ltqajna oġġett ħut, jew Sprite, b'żewġ skripts 43 00:02:01,730 --> 00:02:05,000 li kemm jibdew meta aħna ikklikkja l-buttuna ftit bandiera aħdar. 44 00:02:05,000 --> 00:02:07,290 L-iskript 1 jikkontrolla mozzjoni tal-ħut. 45 00:02:07,290 --> 00:02:09,850 Meta l-bandiera aħdar huwa għafast, il-ħut gets mqiegħda 46 00:02:09,850 --> 00:02:12,450 fuq in-naħa tax-xellug tal-iskrin, imsejjaħ il-fażi, 47 00:02:12,450 --> 00:02:14,090 jiffaċċjaw lejn il-lemin. 48 00:02:14,090 --> 00:02:17,070 Imbagħad, fil-sett ta 'struzzjonijiet li ser jimxu dejjem, sakemm aħna 49 00:02:17,070 --> 00:02:20,270 twaqqaf il-programm, il-ħut glides biex il-lemin, 50 00:02:20,270 --> 00:02:22,900 dawriet madwar, tmur lura għall-naħa tax-xellug, u 51 00:02:22,900 --> 00:02:24,470 dawriet madwar darb'oħra. 52 00:02:24,470 --> 00:02:27,410 L-iskript 2 jikkontrolla proċess tal-ħsieb tal-ħut. 53 00:02:27,410 --> 00:02:29,290 Jirriżulta li dan huwa ħut bil-ġuħ. 54 00:02:29,290 --> 00:02:32,080 Allura wara stennija għal 3 sekondi, il-ħut se jaħsbu, 55 00:02:32,080 --> 00:02:34,420 "Jien bil-ġuħ," għat-tieni 4. 56 00:02:34,420 --> 00:02:36,440 Din l-iskrittura tmexxi wkoll dejjem. 57 00:02:36,440 --> 00:02:38,940 U kif naraw, minn tħaddim tal-programm billi tikklikkja l- 58 00:02:38,940 --> 00:02:41,730 bandiera aħdar, iż-żewġ skripts jidhru li jesegwixxi 59 00:02:41,730 --> 00:02:43,100 simultanjament. 60 00:02:43,100 --> 00:02:46,460 Il-ħut jiċċaqlaq u jaħseb fl-istess ħin. 61 00:02:46,460 --> 00:02:49,030 >> Peress li l-ħut foqra jistenna hekk bil-ġuħ, ejja żid f'xi 62 00:02:49,030 --> 00:02:50,670 puffs Logged għal dan li jieklu. 63 00:02:50,670 --> 00:02:53,060 Nisperaw li mhux se jiddiżintegraw fl-ilma. 64 00:02:53,060 --> 00:02:55,560 Meta aħna żid fl-Sprite tieni, aħna ser ikunu wkoll kapaċi li 65 00:02:55,560 --> 00:02:58,020 żid skripts li jikkorrispondu għal dak Sprite. 66 00:02:58,020 --> 00:02:59,580 U, għalhekk, se jkun hemm sett ieħor ta ' 67 00:02:59,580 --> 00:03:00,830 ħjut li ser jimxu. 68 00:03:03,590 --> 00:03:06,270 Biex tagħti l-utent ta 'programm ta' kontroll tagħna fuq meta l- 69 00:03:06,270 --> 00:03:09,340 ħut bil-ġuħ gets ikel, ejja ngħidu li kull meta l-Ispazju 70 00:03:09,340 --> 00:03:11,840 Bar hija milquta, puffs Logged jidhru fuq l-istadju għall- 71 00:03:11,840 --> 00:03:13,300 ħut li jieklu. 72 00:03:13,300 --> 00:03:15,760 Qabel ma aħna laqat il-bar-Ispazju, aħna ser jixtiequ jżommu l Logged 73 00:03:15,760 --> 00:03:19,020 puffs moħbija b'tali mod li l-ħut ma tistax tara minnhom. 74 00:03:19,020 --> 00:03:21,140 Biex tagħmel dan, aħna ser bżonn ta 'ftit skripts għall- 75 00:03:21,140 --> 00:03:22,750 puffs Logged Sprite. 76 00:03:22,750 --> 00:03:26,980 L-iskript ewwel, il-bandiera aħdar, se biss jaħbu l-ikel. 77 00:03:26,980 --> 00:03:29,530 B'differenza mill-iskripts oħra konna bil-miktub, dan wieħed mhux se żżomm 78 00:03:29,530 --> 00:03:30,560 running dejjem. 79 00:03:30,560 --> 00:03:33,250 Se jibdew u jispiċċaw malajr ħafna, id-dritt meta aħna ikklikkja 80 00:03:33,250 --> 00:03:35,000 il-buttuna ħadra bandiera. 81 00:03:35,000 --> 00:03:37,180 >> L-iskrittura li jmiss għandna se tistenna għall-Avukatura Ispazju li tkun 82 00:03:37,180 --> 00:03:39,590 ippressat qabel ma teżegwixxi. 83 00:03:39,590 --> 00:03:42,770 Nistgħu sejħa ta 'stennija għall jintuza mill-utent "stennija" jew "smigħ" 84 00:03:42,770 --> 00:03:43,860 għal avveniment. 85 00:03:43,860 --> 00:03:46,750 U l-kodiċi li tesegwixxi meta avveniment huwa riċevut jew 86 00:03:46,750 --> 00:03:50,280 sema hija msejħa kodiċi tqandil avveniment. 87 00:03:50,280 --> 00:03:53,550 Ispazju Bar tagħna avveniment handler se juri l-puffs Logged fuq 88 00:03:53,550 --> 00:03:56,330 l-iskrin sabiex il-ħut jistgħu jieklu lilhom. 89 00:03:56,330 --> 00:03:58,880 Fuq dan il-punt, kollox qed ifittxu tajba. 90 00:03:58,880 --> 00:04:00,990 >> Il-ħaġa li jmiss li għandna bżonn tagħmel huwa li insemmu kif tikseb 91 00:04:00,990 --> 00:04:03,570 il-ħut li tirrealizza li hemm ikel li jieklu. 92 00:04:03,570 --> 00:04:06,030 Ejja żid ħajt ieħor l-ħut li kontinwament 93 00:04:06,030 --> 00:04:08,790 kontrolli jew le huwa jmissu l-puffs Logged. 94 00:04:08,790 --> 00:04:11,510 Aħna nagħmlu dan fil-ħajt separata peress li l-mod nistgħu 95 00:04:11,510 --> 00:04:13,710 jivverifika kontinwament għall-ikel. 96 00:04:13,710 --> 00:04:16,829 Inkella, aħna'd biss tkun tista 'perjodikament jiċċekkja għall-ikel 97 00:04:16,829 --> 00:04:21,180 fl bejn gliding, tidwir madwar, stennija, jew taħseb. 98 00:04:21,180 --> 00:04:22,000 >> OK. 99 00:04:22,000 --> 00:04:23,785 Issa ejja jimxu programm Scratch tagħna. 100 00:04:23,785 --> 00:04:26,921 Kif kien mistenni, l-ikel immedjatament ġlud u l- 101 00:04:26,921 --> 00:04:28,920 ħut bil-ġuħ swims quddiem u lura eżatt bħal qabel. 102 00:04:32,050 --> 00:04:35,060 Meta aħna laqat il-bar-Ispazju, l-puffs Logged jidħlu fis-dawl, 103 00:04:35,060 --> 00:04:37,470 u l-ħut bil-ġuħ jgħid whoo. 104 00:04:37,470 --> 00:04:39,340 Imma stenna, li l-stramb. 105 00:04:39,340 --> 00:04:42,150 Kif come tal-ħut "Jien bil-ġuħ" tinterrompi ħsieb il- 106 00:04:42,150 --> 00:04:43,580 ieħor Jittieħed? 107 00:04:43,580 --> 00:04:45,780 Dan huwa għaliex aħna ma tistabbilixxi ebda koordinazzjoni 108 00:04:45,780 --> 00:04:47,590 bejn l-iskripts ħut 3. 109 00:04:47,590 --> 00:04:50,610 Kull tkun qed taħdem fil-ħajt tagħha stess, tagħtix każ għal dak il- 110 00:04:50,610 --> 00:04:52,120 jagħmlu l-oħrajn. 111 00:04:52,120 --> 00:04:54,980 Ejja jiffissaw dan qabel nimxu fuq. 112 00:04:54,980 --> 00:04:57,700 >> Il-koordinazzjoni bejn ħjut huwa kompitu diffiċli peress li aħna 113 00:04:57,700 --> 00:05:00,940 ma jkollhomx kontroll espliċitu fuq meta kull ħajt runs jew 114 00:05:00,940 --> 00:05:02,190 ma run. 115 00:05:02,190 --> 00:05:04,710 Biex tibgħat messaġġ minn ħajt għall-ieħor, aħna ser bżonn 116 00:05:04,710 --> 00:05:08,300 jużaw varjabbli li nistgħu jistabbilixxu, jew jiktbu, f'waħda ħajt 117 00:05:08,300 --> 00:05:10,170 u aqra fl-ieħor. 118 00:05:10,170 --> 00:05:12,920 Ejja toħloq foodFound varjabbli msejħa li nistgħu stabbiliti biex 119 00:05:12,920 --> 00:05:15,530 veru meta l-ħut jibda fil-puffs Logged. 120 00:05:15,530 --> 00:05:17,540 Ukoll, naturalment, aħna tixtieq li tagħmel ċert li aħna stabbiliti biex 121 00:05:17,540 --> 00:05:19,240 FALZ inizjalment. 122 00:05:19,240 --> 00:05:22,540 Imbagħad, fl ħajt ħsieb tal-ħut, aħna ser tikkontrolla biex tara jekk 123 00:05:22,540 --> 00:05:25,400 l-ħut sabet ikel qabel li juri l-"jien bil-ġuħ" 124 00:05:25,400 --> 00:05:26,770 maħsub bużżieqa. 125 00:05:26,770 --> 00:05:29,670 >> Issa, tħaddim tal-programm mill-ġdid, naraw li l-ħut 126 00:05:29,670 --> 00:05:31,580 ma nikseb interrott mal-ħsibijiet tal-ġuħ meta l- 127 00:05:31,580 --> 00:05:33,820 puffs Logged huma barra. 128 00:05:33,820 --> 00:05:36,820 Il-problema finali li għandna hija li l-puffs Logged ma jmorrux 129 00:05:36,820 --> 00:05:39,800 barra wara l-ħut, ikkwota unquote, "jiekol" minnhom. 130 00:05:39,800 --> 00:05:42,305 Mill-iskripts ħut, hemm ebda mod faċli biex jaħbu l-Logged 131 00:05:42,305 --> 00:05:44,710 puffs, għalhekk għandna bżonn biex jibgħat messaġġ lill-puffs Logged 132 00:05:44,710 --> 00:05:46,780 Sprite biex jaħbu innifsu. 133 00:05:46,780 --> 00:05:49,550 Stajna nagħmlu dan ma 'varjabbli li l-puffs Logged 134 00:05:49,550 --> 00:05:52,680 Sprite ikollu aċċess għal, kif ukoll il-Sprite ħut. 135 00:05:52,680 --> 00:05:55,720 >> Madankollu, hemm mod aktar nadifa biex tagħmel dan f'dan il-każ, 136 00:05:55,720 --> 00:05:57,840 peress minflok jibgħatu messaġġ lill b'kitba li l- 137 00:05:57,840 --> 00:06:00,570 x'imkien fin-nofs ta 'eżekuzzjoni, nistgħu tibgħat il- 138 00:06:00,570 --> 00:06:03,710 Messaġġ għal b'kitba li l-stennija biex tibda. 139 00:06:03,710 --> 00:06:07,360 Aħna nagħmlu dan billi jkollu l-ħut xxandar avveniment, wieħed aħna ser 140 00:06:07,360 --> 00:06:08,800 sejħa jittiekel. 141 00:06:08,800 --> 00:06:11,510 Imbagħad, aħna ser toħloq b'kitba għall-puffs Logged li ser ikollu 142 00:06:11,510 --> 00:06:13,030 stenna għal dan l-avveniment. 143 00:06:13,030 --> 00:06:15,560 Dan huwa simili għall-avveniment Bar Ispazju, ħlief li dan il- 144 00:06:15,560 --> 00:06:19,250 żmien, l-utent mhux l-waħda direttament jiskatta l-avveniment. 145 00:06:19,250 --> 00:06:22,800 Issa kollha għandna nagħmlu huwa stabbilit lura tagħna varjabbli foodFound 146 00:06:22,800 --> 00:06:25,750 biex foloz, u aħna issa jistgħu jagħtu l-ħut bil-ġuħ minħabba li ħafna 147 00:06:25,750 --> 00:06:28,470 porzjonijiet ta 'puffs Logged kif irid. 148 00:06:28,470 --> 00:06:30,040 >> Allura mhux wisq ħażina, right? 149 00:06:30,040 --> 00:06:33,400 Fl C, bil-miktub multi-kamin programmi hija aktar ikkumplikata, 150 00:06:33,400 --> 00:06:35,700 iżda l-affarijiet bażiċi huma l-istess. 151 00:06:35,700 --> 00:06:38,690 Xorta waħda, I hope ikollok ħafna ħin bini xi gost 152 00:06:38,690 --> 00:06:41,030 programmi fl-istess ħin fl-Scratch. 153 00:06:41,030 --> 00:06:42,570 Jisimni Nate Hardison. 154 00:06:42,570 --> 00:06:45,260 Dan huwa CS50.