Ho un'applicazione scritta in C ++ che era originariamente a thread singolo, ma, a causa della crescente complessità di questo progetto, avrò bisogno di espanderlo ad almeno due o tre thread.
Ci sono solo un totale di quattro variabili che saranno usate tra più thread di thread, rendendo inutile rendere tutto thread-safe. La soluzione ovvia è semplicemente creare un mutex per ogni variabile e andare avanti con la mia vita.
Tuttavia, guardando indietro, sembra un'idea orribile! Ho paura che un altro programmatore possa dimenticare che la maggior parte dei metodi e delle variabili non sono thread-safe e utilizzano una variabile in un altro thread.
Dato che sono il programmatore principale di questo progetto, non sembra che questo sarebbe un problema, ma onestamente sento che questa è una programmazione sbagliata e mi sembra davvero complicato.
Quali sono alcuni modi per tenere separate le variabili per rendere più facile stabilire quale variabile è per quale thread? Stavo pensando di isolare il codice per il thread in modo che non possa accedere alle altre variabili globali (dando un errore di compilazione invece di creare silenziosamente un bug). Potrei anche creare uno spazio dei nomi o una classe per ogni thread. Esiste una best practice per questo?