Esercizi sul multi-threading C++

Pubblicità

Lugio

Utente Attivo
Messaggi
845
Reazioni
225
Punteggio
50
Ciao a tutti,
mi sono messo ad imparare la data race e tutto ciò che ne consegue ( lock, multi-threading, task, ecc... ) facendo piccole cavolate come esercizi.
Dopo aver finito pure quelli sono caduto nel vuoto della noia :asd: ed ho provato a bazzicare sul web, senza trovar nulla per il linguaggio da me amato.
Chiedo quindi se qualcuno di voi avrebbe in mente qualche esercizio un po' più complesso ed impergnativo, non da millemila righe di codice ma neanche da 50.
Ringrazio in anticipo per ogni risposta ed aiuto.
 
Un classico potrebbe essere implementare "produttore /consumatore", dovendo anche sincronizzare i thread quindi.

Un altro magari sulle barriere.
 
Un classico potrebbe essere implementare "produttore /consumatore", dovendo anche sincronizzare i thread quindi.

Un altro magari sulle barriere.
Sinceramente non ho capito cosa intendi in nessuno dei due casi :suicidio:.
Comunque, solo per chiarire, potete metterci di tutto, puntatori, array, vettori, classi, ecc...
 
Nel primo caso si tratta di un algoritmo che usa una coda (o un normale buffer) che viene riempita dal produttore, e svuotata dal consumatore progressivamente.
In sostanza il produttore inserirà elementi nel buffer, assicurandosi di non superare il limite, ed il consumatore preleverà gli elementi assicurandosi di non rimuovere più di quanti ce ne siano.

Quello con le barriere è un problema tipico di sincronizzazione. Si tratta di elaborare dati in due thread (o più) sino al raggiungimento di un valore (la barriera) raggiunto il quale il thread che giunge a questa barriera attende gli altri.
 
Pubblicità
Pubblicità
Indietro
Top