Oltre all'aspetto relativo alla gestione del contenuto della routine di interrupt, finalizzata alla sua ottimizzazione e a quella del programma in generale, si potrebbe prendere in considerazione una possibile conseguenza dovuta alla chiamata della routine stessa.
Allora, l'aspetto "didattico" conferito al thread, visto che magari tanti altri utenti potrebbero leggere questi passaggi, consente di ricordare che l'interruzione di una operazione (da parte di un altro processo ma in tal caso meglio scrivere, da parte della routine di interrupt) può avere conseguenze "particolari" sulla esecuzione di un programma; è necessario quindi sapere cosa si va a chiedere ad una routine di interrupt e cosa potrebbe interrompere, una routine di interrupt.
Così argomentando nel merito, facendo riferimento per esempio a questo link "
file:///C:/Documents%20and%20Settings/Nobody/Documenti/Downloads/Beyond_volatile.pdf" (per citare una risorsa già considerata), ci si può rendere conto (o eventualmente ricordare) cosa comporta un intervento che non garantisce la "atomic operation".
Dal mio punto di vista, come ha scritto
TardoFreak nel Post [34], assume importanza fondamentale la conoscenza e la consapevolezza di quello che si va a fare, sopratutto se si scrive il codice con un linguaggio superiore; se poi si sa "cosa combina" il compilatore, tanto meglio.
Al tempo stesso, mi pare, come ha scritto
angel99 nel Post [36], aderendo il più possibile al codice "asm" riduci i rischi insiti del passaggio attraverso un compilatore.
Ognuno poi adotta il proprio stile, ricorre alle proprie consuetudini ma, certamente, senza prescindere dalla conoscenza.
Saluti
W - U.H.F.