Skip to content
C++20 - Korutine

Details

Pojam korutina (coroutines) se u račnuarstvu pominje još 60-ih godina kao generalizacija podrutina (subroutines), tj. funkcija, koje imaju stanje i čije izvršavanje može da se prekine i nastavi kasnije. Od tada do danas su aktuelna tema - Donald Knuth ih obrađuje u svojoj knjizi “The Art of Computer Programming, Vol. 1 Fundamental Algorithms”, standardni su deo jezika Python i Kotlin a postoje i mnoga bibliotečka rešenja u većini programskih jezika.

C++20 standard uvodi korutine kao sastavni deo jezika uvođenjem novih ključnih reči za rad sa korutinama (co_await, co_yield, co_return) i novim mehanizmom za kontrolu toka programa.

Ova nova funkcionalnost nam omogućava da jednostavnije pišemo asinhroni kod, bez korišćenja alata standardne biblioteke kao što su std::thread ili std::future i std::promise. Uz korišćenje korutina, asinhroni kod postaje praktično identičan sinhronom kodu.
Zbog načina kako je C++20 definisao korutine, osim za pisanje asinhronog koda, korutine možemo koristiti za implementaciju generatora, state mašina i drugih uslužnih alata.

Petar Trifunovic će zajedno sa svojim kolegama prezentovati kratak pregled onoga što je novi standard doneo u samom jeziku i u standardnoj biblioteci, objasniti koje su osnovne gradivne jedinice asinhronih programa koje koriste korutine i sve to u kontekstu jedne asinhrone aplikacije.

Google Meet link: https://cppserbia.com/meet
Pristup putem telefona: +381114250145 (PIN: 602 714 419 5866#)
Lista telefonskih brojeva: https://cppserbia.com/meet-numbers

Link ka Slack workspace-u C++ user grupe možete naći ovde.
Datum i vreme događaja: 30. novembar (sreda), u 18h
Mesto održavanja: ICT Hub
Adresa: Kralja Milana 10

Sa velikim zadovoljstvom vas obaveštavam da je ovaj događaj sponzorisalo preduzeće Inceptive. Hvala vam na želji da učestvujete u razvoju lokalne C++ zajednice!

Vidimo se!

Serbian C++ User Group
Serbian C++ User Group
See more events
Kralja Milana 10 · Beograd