PDA

Visualizza la versione completa : Implementazione funzione run() classica dei thread


McTwist
20-10-2008, 11:55
Ciao a tutti,
ieri cercando di creare delle classi che mi facilitino la creazione di piccoli server ho trovato una soluzione interessante, solo che ovviamente mi si posto un problema.

Ho tre classi: Worker, WorkerPool e Server. Le prime due ereditano da una classe che implementa i thread mentre la classe Server eredita da WorkerPool.

Come si pu intuire dai nomi la classe WorkerPool, fornisce i thread per la soddisfazione delle richieste al server.

Ci che sto cercando di fare inculdere una funzione virtuale (exec(richiesta))in Server, che possa essere richiamata da un oggetto Worker. Ovviamente la funzione viene implementata in una classe che eredita da Server. Un p come succede per le classi che gestiscono i thread: ovvero che si crea una classe figlia di Thread, si reimplementa il metodo run() e quando si avvia il thread con una funzione delle classe Thread viene eseguita la funzione della classe implementata da noi.

Se qualcuno ha idea di come si possa fare qualcosa del genere o dove posso trovare informazioni come un'implementazione del supporto dei thread abbastanza elementare vi ringrazio molto.
Per il momento ho provato a cercare in internet e a guardarmi le implementazioni di Qt e wxWidgets, ma sono parecchio complesse...

Grazie e ciao

denis76
22-10-2008, 14:10
Prova a scaricare il pacchetto synapse ararat e guarda l'esempio http server.
E' scritto in pascal ma molto chiaro; la cosa analoga in tutti i linguaggi.

Loading