Sto sviluppando un framework con C ++ e contiene tre livelli:
- Funzioni di basso livello che fanno il duro lavoro
- Un livello superiore che utilizza le funzioni di livello basso per eseguire attività (le funzioni a questo livello in genere utilizzano solo una funzione di livello inferiore e accettano esplicitamente il puntatore della funzione per sapere quale funzione chiamare)
- Classi di livello superiore che utilizzano queste funzioni di livello intermedio per eseguire attività complete.
Il problema è che sto introducendo la concorrenza nel framework e ho bisogno di un modo per mettere a punto questa concurrency per funzione base. Posso progettare un oggetto per trasferire i parametri di concorrenza, ma non voglio passare un oggetto a funzioni che non sono simultanee.
Le funzioni concorrenti possono essere di qualsiasi livello e la loro concorrenza deve essere controllata in modo indipendente.
Esiste uno schema o un metodo migliore per consentire solo alle funzioni concorrenti di accedere a queste informazioni?