Consentitemi di prefigurare questo ammettendo che sono un novizio - questo è il primo vero progetto che sto facendo al di fuori di una classe.
Sto eseguendo una simulazione C ++ a thread singolo diverse centinaia di volte (ad esempio, ho diverse centinaia di "lavori"). Vorrei poter disporre di una coda a cui aggiungo lavori (magari modificando un parametro o due ogni volta) e dalla quale posso rimuovere i lavori come preferisco.
Ho scritto un semplice programma multithread in passato, e stavo considerando di fare di ogni lavoro un thread - ma ho pensato a due problemi con questo approccio:
- se spengo Ctrl-C dal mio programma, allora tutti i thread si fermano, non solo quello a cui sono interessato. Quindi se voglio fermare un lavoro ma non gli altri, non ho un modo per farlo .
- Non posso semplicemente aggiungere lavori, perché ho bisogno di compilare l'intero programma prima di poterlo eseguire.
Mi piacerebbe sentire qualche suggerimento su come posso gestire i singoli lavori - per quanto posso vedere, il multithreading potrebbe non essere la strada da percorrere.