[Powered by Google Translate] NATE HARDISON: Kad esat ieguvuši vairākas programmas atvērts dators, šķiet, piemēram, viss ir darbojas tajā pašā laikā. Piemēram, jūs varētu strādāt ar interneta pārlūku, piemēram, Firefox vai Internet Explorer, klausoties mūziku uz iTunes, un rakstot eseju ar Word. Tomēr, saskaņā ar kapuci, programmas faktiski palaist pa vienam. Tas ir darbs no operētājsistēmas, Windows, Mac OSX, vai Linux, lai pārvaldītu katru no šiem atsevišķos procesos, jo programmas ir zināms, un pārslēgties starp tiem tā, ka tad, kad jūs aiziet no pārbaudot savu Facebook lapu, lai strādā jūsu eseja atkal, Word ir viens, kas darbojas. Dažreiz, lai gan, mēs vēlamies programmas paši, lai varētu darīt vairākas lietas, piemēram, tas, too. Ja jūs esat līdzīgi man, jūs, iespējams, ir ķekars dažādām cilnēm atvērt savu interneta pārlūku, viens e-pasts, viens ar kalendāru, un tā tālāk. Mēs varētu uzskatīt katru cilni kā atsevišķu programmu vai procesu, piemēram, Google Chrome nav, bet daudzas programmas izmanto vieglākas svara versija procesu, ko sauc par pavedienu. Pavediens ir tikai vēl viens vienības apstrādes komplekts instrukcijas vai kods, kas var "palaist", citējot likt pēdiņas beigās, vienlaikus ar citiem diegiem. Tas ir tas, kas ļauj, lai jūs varētu pārlūkot Facebook klausoties man fonā vai ir divas YouTube video spēlē tajā pašā laikā. Tātad, šī vispārējā tēmu, kas pazīstams kā laiksakritība, parasti nenāk klajā tik agri datorzinātņu kursus jo zemāka līmeņa detaļas nepieciešama diskusija par operētājsistēmas un tamlīdzīgi. Tomēr programmēšanas valodu mēs izmantojam pie sākumā CS50, Scratch, sniedz dažus švītīgs rīkus vieglāk rakstīt programmas ar vairākām lietām notiek uzreiz. Kad jūs veidot Scratch programmas, jūs pastāvīgi strādājot ar diegiem. Katrs Scratch skripts, kas ir koda bloku, kas sākas ar viens no "kad" puzzle gabalus, var uzskatīt kā atsevišķu pavedienu. Apskatīsim vienkāršu Scratch programmu, lai redzētu kā tas darbojas. Lūk, mēs esam ieguvuši zivju objektu, vai Sprite, ar diviem skripti ka gan sākums, kad mēs noklikšķiniet maz zaļo karogu pogu. Pirmais skripts kontrolē zivs kustības. Kad zaļais karogs ir noklikšķinājuši, zivis izpaužas ievietots kreisajā pusē no ekrāna, ko sauc par posmu, saskaras ar tiesībām. Tad, norādījumu kopums, kas rādīsim mūžīgi, kamēr mēs apturēt programmu, zivis slīd uz labo pusi, pagriežas, iet atpakaļ uz kreiso pusi, un pagriežas atkal. Otrais skripts kontrolē zivs domāšanas procesu. Izrādās, ka tas ir izsalcis zivis. Tātad, pēc gaida 3 sekundes, zivis domā, "Es esmu izsalcis," par ceturto sekundi. Šis skripts arī vada mūžīgi. Un kā mēs redzam, no braukšanas programmas, noklikšķinot Zaļā karoga, gan skriptus šķiet izpildīt vienlaicīgi. Zivis pārvietojas un domā tajā pašā laikā. Tā kā slikta zivs izskatās tik izsalkuši, pieņemsim pievienot dažus sierveidīgs inhalācijas par to ēst. Cerams, viņi būs ne sadalīties ūdenī. Kad mēs pievienot otrajā Sprite, mēs arī varētu pievienot skriptus atbilst šo Sprite. Un, tātad, tur būs vēl viens komplekts diegi ka rādīsim. Nodrošināt lietotājam mūsu programmas kontroli pār kad izsalcis zivis kļūst pārtiku, pieņemsim, ka ikreiz, kad kosmosa Josla ir hit vai siera inhalācijas parādās uz skatuves, lai zivis ēst. Pirms mēs hit starpdevējs, mēs vēlamies, lai saglabātu cheesy inhalācijas paslēpta, lai zivis nevar redzēt. Lai to izdarītu, mums ir nepieciešama pāris skripti sierveidīgs inhalācijas Sprite. Pirmais skripts, zaļā karoga, vienkārši paslēpt pārtiku. Atšķirībā no citām skripti mēs esam raksta, šo vienu neļaus darboties mūžīgi. Tas sākas un beidzas ļoti ātri, labi, ja mēs noklikšķiniet Zaļā karoga poga. Nākamais skripts mums būs jāgaida starpdevējs būt nospiests pirms izpildes. Mēs varam zvanīt gaidīt lietotāja ievadi "gaidīšanas" vai "klausīšanās" par notikumu. Un kods, kas izpilda tad, kad notikums ir saņemts vai dzirdējis sauc notikumu apstrādes kodu. Mūsu starpdevējs notikumu apdarinātājs rādīs cheesy inhalācijas par ekrāns, lai zivis var ēst. Šajā brīdī, viss meklē labi. Nākamā lieta, kas mums jādara, ir izdomāt, kā nokļūt zivs saprast, ka tur ir pārtikas ēst. Pieņemsim pievienot citu pavedienu uz zivīm, kas pastāvīgi pārbaudes, vai tas ir pieskaras cheesy inhalācijas. Mēs to darām ar atsevišķu pavedienu, jo tādā veidā mēs varam pastāvīgi pārbaudītu pārtiku. Pretējā gadījumā mēs gribētu tikai varētu periodiski pārbaudīt pārtikas starp slīdamību, pagrieziena apkārt, gaida, vai domājot. Labi. Tagad pieņemsim palaistu mūsu Scratch programmu. Kā jau gaidīts, pārtikas nekavējoties slēpj un izsalcis zivis peld uz priekšu un atpakaļ, tāpat kā pirms tam. Kad mēs hit starpdevējs, tad cheesy pufi nonāk domām, un izsalcis zivis saka Whoo. Bet pagaidiet, tas ir dīvaini. Kā tas nākas, zivs "Es esmu izsalcis" Domas pārtrauc citi sīkumi? Tas ir tāpēc, ka mums nav noteiktas nekādas koordinācijas starp trim zivju skriptus. Katrs darbojas savā pavedienu, aizmirsusi to, ko citi dara. Pieņemsim salabot, pirms mēs doties tālāk. Koordinācija starp diegiem ir grūts uzdevums, jo mēs nav skaidra pār kad katrs pavediens iet kontroli vai nedarbojas. Lai nosūtītu ziņu no viena pavediena uz otru, mums būs nepieciešama izmantot mainīgo, mēs varam noteikt, vai rakstīt, jo viens pavediens un lasa otru. Pieņemsim izveidot mainīgo sauc foodFound ka mēs varam noteikt, lai taisnība, kad zivis nokļūst uz sierveidīgs inhalācijas. Nu, protams, mēs vēlamies, lai pārliecinātos, ka mēs noteikti to viltus sākotnēji. Tad, zivs domāšanas pavedienu, mēs pārbaudām, vai zivis ir atrodama pārtika pirms attēlot "Es esmu izsalcis" domāja burbulis. Tagad darbojas programma atkal mēs redzam, ka zivis nesaņem pārtraukts ar domām par bada, kad sierveidīgs inhalācijas ir out. Galīgo Problēma mums ir, ka cheesy pufi neapmeklē prom pēc zivīm, citējot likt pēdiņas beigās, "ēd" viņiem. No zivju skripti, nav viegls veids, kā slēpt cheesy pufi, tāpēc mums ir nepieciešams, lai nosūtītu ziņu uz cheesy inhalācijas elfa, lai slēptu sevi. Mēs varētu darīt ar citu mainīgo ka cheesy pufi elfa ir pieejami, kā arī zivju Sprite. Tomēr, tur ir tīrāks veids, kā to šajā gadījumā, jo tā vietā, nosūtot ziņu uz skriptu, kas ir kaut kur pa vidu izpildes, mēs varam nosūtīt ziņu skriptu, kas gaida, lai sāktu. Mēs to darām, kam zivis pārraidīt pasākumu, vienu mēs zvanīt ēdis. Tad mēs izveidot skriptu cheesy inhalācijas, kas būs gaidīt, lai šo notikumu. Tas ir līdzīgi Space Bar gadījumā, izņemot šī laiks, lietotājs nav viens tieši izraisot notikumu. Tagad viss, kas mums jādara, ir noteikt mūsu foodFound mainīgs atpakaļ līdz nepatiesa, un tagad mēs varam dot izsalcis zivis par daudz porcijas sierveidīgs uzkodas, kā tā vēlas. Tāpēc nav pārāk slikti, vai ne? C, rakstot vairāku vītņotiem programmas ir daudz sarežģītāka, bet pamati ir vienādi. Anyway, es ceru, ka jums ir liels laiks celtniecības daži jautri vienlaicīgu programmas nulles. Mans vārds ir Nate Hardison. Tas ir CS50.