Sto programmando in C++, ma sto usando solo thread pthread.h, no boost o C++ 11.Come deve essere implementato un pool di thread in C?
Quindi sto cercando di utilizzare thread ma basato su una delle mie precedenti domande (link), questo non sembra fattibile poiché i thread terminano subito dopo il completamento del suo compito, e uno dei motivi più diffusi per usare un thread- L'implementazione del pool riduce il sovraccarico di creazione dei thread riutilizzando questi thread per più attività.
Quindi è l'unico altro modo per implementare questo in C per utilizzare fork() e creare un pipe dai processi principali a quelli secondari? O c'è un modo per impostare una pipe tra i thread e i loro genitori di cui non conosco?
Molte grazie in anticipo!
creazione dei thread Nascondere ed avendo una coda di posti di lavoro (funzione + oggetto) con qualche evento di wake-up dovrebbe farlo . Stai cercando un comportamento specifico? –
Decidere se si desidera una soluzione C o C++. Se la libreria sottostante è pthreads (vale a dire solo C) è molto meno importante della lingua per la quale si desidera fornire il pool di thread. –
.. e quindi scegli C++ –