Úvod
Možná jste slyšeli, že Go dělá vynikající úlohu pro souběžnost. Možná je to nejvýraznější funkce, která provedla Go tak populární a volba pro psaní dalšího softwaru, jako je Docker, Kubernetes a Terraform.
Než se začnete učit, jak funguje souběžnost v Go, možná budete muset zapomenout na to, co už znáte z jiných programovacích jazyků. Přístup go se liší.
V tomto okamžiku už máte potřebné znalosti k pokrytí pokročilejších témat, jako je souběžnost. Začneme ale tím, že si ukážeme, proč je potřeba souběžnost. Trochu se seznámíme s různými tématy.
Doporučujeme procvičit si všechny ukázky kódu a nepřecházet vpřed, dokud plně nerozumíte konceptům. Jak jste se naučili v předchozích modulech, je postup, který vám pomůže lépe porozumět konceptům.
Pojďme se podívat, co se v tomto modulu naučíte.
Cíle výuky
V tomto modulu se dozvíte:
- Jak funguje souběžnost v Go.
- Rozdíl mezi souběžností a paralelismu
- Jak komunikace funguje v souběžné aplikaci pomocí kanálů.
- Jak napsat program, který běží rychleji implementací souběžnosti
- Jak psát dynamické programy, které můžou používat vyrovnávací paměti, aby využívaly souběžnost, když chcete spustit omezený počet souběžných volání.
Požadavky
- Prostředí Go, které je připravené k vytváření aplikací. V ideálním případě byste měli mít nainstalovaný a nakonfigurovaný Jazyk Go místně a mít nainstalovaný Visual Studio Code s rozšířením Go.
- Možnost vytvářet a upravovat
.go
soubory. - Možnost spouštět aplikace Go pomocí příkazového řádku terminálu.
- Znalost základních datových typů, jako
string
je ,int
aboolean
. - Znalost psaní základních toků řízení dat, jako
if
jsou afor
příkazy. - Znalost psaní funkcí
- Znalost toho, jak používat knihovny, jako je
net/http
.