Salve a tutti ancora,
Ho un problema che avevo già citato nell'ultimo mio Post, lo ripropongo qui in modo più chiaro sperando che qualcuno possa aiutarmi.
Ho bisogno di scrivere sostanzialmente una specia di server web multithreading. Devo implementare in C++ un processo che stia in ascolto di eventuali richieste provenienti da altri processi e qualora arrivi una richiesta istanzi un nuovo thread che faccia quello che deve fare......
Il mio problema è: come si implementa in C++ un Pool di Thread dinamico? Sapete dove trovare qualche esempio?????
Aggiungo 2 righe per spiegare (bozza di file main.cpp)
//#include<.....>
//..........
void *threadfunction(void* p);
int main(...)
{
pthread t;
int threadint;
while(true){
//Aspetto una richiesta.....
threadint=pthread_create(&t,NULL,threadfunction,NU LL);
}
}
void *threadfunction(void* p)
{
//codice per fare qualcosa ..........
};
Il mio problema è che il main si blocca finchè non arriva una nuova richiesta, appena arrivata istanzia un thread associato alla variabile t e si rimette in attesa.
Se arriva una nuova richiesta prima che il thread sia finito
il main cercherà di creare un nuovo thread associato alla stessa variabile t,......non va bene.
Vorrei usare un array del tipo:
pthread[] t;
ma non sò bene come scrivere un main che allochi dinamicamente nuovi thread associandoli a variabili t[x] in cui x rappresenta un thread ormai finito......
Aiuto???????!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
Spero di essere stato chiaro.
Grazie