Dr. Carlo Pescio
Recensione: Multithreading Applications in Win32


Scheda Libro
Autore: Jim Beveridge, Robert Wiener Titolo: Multithreading Applications in Win32
Editore: Addison-Wesley ISBN: 0-201-44234-5
Lingua: Inglese Anno: 1997 Pagine: 370 circa Allegati: CD-Rom con sorgenti

Commenti
Uno dei miglioramenti più importanti del passaggio dalla piattaforma Win16 a Win32 è stato indubbiamente l段ntroduzione del multithreading preemptive. Sfruttato opportunamente, il multithreading permette di creare applicazioni che rispondono più prontamente alle richieste degli utenti, svolgendo compiti diversi durante le pause di attesa.
Il testo in esame affronta i diversi aspetti della programmazione multithreading dividendoli in tre sezioni logiche. Nella prima, gli autori discutono i fondamenti della programmazione multithreading, la creazione dei thread, la sincronizzazione, eccetera, sempre a livello di API di Win32. Nella seconda, vengono analizzati temi più specifici come l段nterazione fra thread e libreria run-time del C, thread e C++, MFC e GDI. Vengono brevemente discussi il debugging e l段nterprocess communication. Nella terza, l置so dei thread è rivisto in una luce strategica, ed infine gli autori propongono un esempio di utilizzo dei thread con ISAPI e toccano rapidamente i modelli di threading all段nterno del COM.

Pro
È un testo auto-contenuto, ovvero anche chi non è mai sceso sotto il velo dell段nterfaccia utente può trovarvi un riferimento sufficientemente completo per scrivere programmi multi-threaded. La terza parte del testo è piuttosto interessante anche per un progettista. Ottima l段dea di segnalare le risposte a domande frequenti con dei marker ben visibili. In questo modo, anche un lettore poco interessato a leggere l段ntero volume può sfogliare il testo e trovare degli spunti interessanti.

Contro
Se avete già letto altri testi sulla programmazione di sistema in Win32 (ad esempio, il testo di Richter da me recensito su CP 61), questo libro aggiungerà ben poco al vostro arsenale. Gli autori rimangono troppo spesso ad un livello astratto, a tratti quasi paternalistico (come nella discussione del debugging). Manca completamente un誕nalisi delle prestazioni del sistema sotto diversi livelli di carico, così come una qualunque guida al dimensionamento dei sistemi. Il multiprocessing simmetrico, e le problematiche relative, sono del tutto ignorati.