Asynkron programmering er for nylig blevet ikke mindre udviklet end klassisk parallel programmering, og i JavaSripts verden, både i browsere og i Node.js, har forståelsen af dens teknikker indtaget et af de centrale steder i udformningen af udviklernes verdensbillede. Jeg gør dig opmærksom på et holistisk og mest komplet kursus med en forklaring på alle de udbredte metoder til asynkron programmering, adaptere mellem dem og hjælpeåbninger. Den består i øjeblikket af 23 forelæsninger, 3 rapporter og 28 repositories med mange kodeeksempler på github. I alt omkring 17 timers video:
Forklaringer til ordningen
Diagrammet (ovenfor) viser sammenhænge mellem forskellige måder at arbejde med asynkroni på. De farvede blokke refererer til asynkron programmering, og s/h viser parallelle programmeringsmetoder (semaforer, mutexes, barrierer osv.) og Petri-net, der ligesom asynkron programmering og aktørmodellen er forskellige tilgange til implementering af parallel computing (de er angivet i diagrammet kun for mere præcist at bestemme stedet for asynkron programmering). Aktørmodellen er relateret til asynkron programmering, fordi implementering af aktører uden multithreading også har ret til at eksistere og tjener til at strukturere asynkron kode. De stiplede linjer forbinder hændelser og den samtidige kø til tilbagekald, fordi disse abstraktioner er baseret på tilbagekald, men stadig danner kvalitativt nye tilgange.
Forelæsningsemner
Under hver video er der links til repositories med kodeeksempler, der er forklaret i videoen. Jeg forsøgte at vise, at der ikke er behov for at reducere alt til én abstraktion af asynkroni. Der er ingen universel tilgang til asynkroni, og for hvert tilfælde kan du vælge de metoder, der giver dig mulighed for at skrive kode mere naturligt til denne specifikke opgave. Dette kursus vil naturligvis blive suppleret, og jeg beder alle om at foreslå nye emner og bidrage med kodeeksempler. Hovedmålet med kurset er at vise, hvordan man bygger asynkronabstraktioner indefra, og ikke kun lære at bruge dem. Næsten alle abstraktioner er ikke taget fra biblioteker, men er givet i deres enkleste implementering og deres arbejde analyseres trin for trin.
Kun registrerede brugere kan deltage i undersøgelsen.
Hvad er din mening om kurset?
-
Jeg vil se hele kurset
-
Jeg vil se selektivt
-
Én tilgang er nok for mig
-
Jeg vil bidrage til kurset
-
Jeg er ikke interesseret i asynkroni
8 brugere stemte. 1 bruger undlod at stemme.
Kilde: www.habr.com