Piccolo problema di multithreading

di Anonimizzato9624 il
1 risposte
Salve avrei una piccola questione da chiedere:
In un applicazione:
[*]un thread (threadA) ha il compito di ricevere dei dati (che possono arrivare in qualsiasi momento), riconoscerli e spedirli in una coda.
[*]il threadB deve prendere gli elementi della coda, uno alla volta, ed elaborarli.

Mi chiedevo se c'era un modo semplice per fare in modo che il threadB non polasse sulla coda (operazione tra l'altro dispendiosa in quanto protetta da mutex) ma di essere "notificata" quando un elemento veniva aggiunto alla coda.

Il codice usa le boost C++.

Qualche idea?

1 Risposte

  • L'unica cosa che ti posso dire e di vedere la classe Boost.Signals ma non so dirti altro.
    http://www.boost.org/doc/libs/1_48_0/doc/html/signals.html

    Nel senso che non usando boost non saprei consigliarti come fare. in Win32 c'è CriticalSection e PostMessage/PostThreadMessage che fanno la stessa cosa.
Devi accedere o registrarti per scrivere nel forum
1 risposte