C pthreads - threadpools - c - Synchonisation

hell-student

Lieutenant
Registriert
Nov. 2007
Beiträge
671
Hallo Zusammen,

Ich habe folgendes Problem. Ich möchte gerne 2 threadspools haben. Habe ich bereits implementiert. Nun sollen alle Threads von Pool A pausiert werden, wenn eine Aufgabe mit mittels eines Threads aus Pool B bearbeitet wird. Sofern die Aufgabe beendet wird, sollen alle pausierten Threads wieder ablaufen. Es soll quasi immer nur 1 Thread aus Pool B ablaufen ohne interleaving. Wenn B fertig ist, sollen die Threads aus A wieder interleaved ablaufen.

Wie kann ich das am besten per Cond_wait/signal bzw. mit mutex realisieren?
 
Zurück
Oben