Developing multithreaded applications in C++


Details
Talk:
Jaka Katrasnik
Razvoj večnitnih aplikacij v C++
Trendi v razvoju strojne opreme kažejo na to, da se je zmogljivost izvajanja sekvenčnih operacij na današnjih procesorjih ustalila in se v prihodnosti ne bo več drastično povečala. To pomeni, da programi, ki se izvajajo sekvenčno, na strojni opremi prihodnosti ne bodo tekli nič hitreje, kot tečejo na trenutnih procesorjih. Kljub temu se zmogljivost strojne opreme povečuje. Novejši procesorji so namreč vedno bolj zmogljivi pri vzporednem izvajanju operacij. Za polni izkoristek procesorske moči strojne opreme prihodnosti je torej nujno večnitno programiranje. Zato bodo tokrat predstavljena osnovna orodja (threads, futures, locks, atomics ...) za večnitno programiranje v jeziku C++, ki sta jih je prinesli C++11 in C++14 verziji standarda. Na kratko bodo povzete tudi pasti, ki jih s seboj prinese uporaba večih niti. Predstavljen bo tudi koncept Active objekta, ki še dodatno olajša večnitno programiranje.
Developing multithreaded applications in C++
Trends in computer hardware show that the sequential execution performance of today's processors is no longer improving. This means that sequential programs written today will not run faster on future hardware. Nevertheless hardware performance is still increasing. Newer processors are increasingly more powerful at parallel execution of code. It is therefore necessary to write multithread code in order to fully utilize the power of future hardware. This presentation will focus on the basic tools (threads, futures, locks, Atomics ...) for multithreaded programming in C++, which were introduced by the C++11 and C++14 standard versions. The pitfalls that arise with multithreaded programming will also be briefly summarized. Finally, the concept of Active object, which further facilitates multithreaded programming, will be presented.
The talk will be in english.

Developing multithreaded applications in C++