Intro
Contents
In un articolo precedente sono state descritte alcune classi per la definizione dei thread, semaforizzazione e gestione degli eventi. Le classi utilizzano le API di Windows per la gestione dei thread e la classe CEvent per la sincronizzazione degli stessi in applicazioni multithread. Dalla versione 11, C++ supporta la gestione multithread nelle librerie standard, includendo classi per la loro manipolazione, sincronizzazione e operazioni atomiche a basso livello. Dalla versione 11 in poi C++ supporta una gestione della concorrenza indipendente dal sistema operativo, permettendo la costruzione di codice perfettamente portabile.
Le API di Colibri supportano, attraverso le macro CLB_lang le nuove funzionalità di gestione della concorrenza di C++. Esponiamo di seguito alcune di queste funzionalità, utilizzzando esempi tratti dal codice dell’applicazione.
Tutte le macro ed i comandi di gestione dei thread sono definiti nel namespace CLB::Threads, contenute nel file di inclusione “CLB_lang_thread_C11.h“.