Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-08-2008, 12:55   #1
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
[C++] ThreadPool

Ho implementato un threadpool in c++ in cui accodo un puntatore a metodo che poi verrà richiamato non appena un thread è disponibile.
Ora il problema è chiaramente che un oggetto che accoda del lavoro potrebbe essere distrutto per i motivi più vari e non avrei modo per gestire questa condizione.

Come si può implementare un threadpool sicuro?
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2008, 10:06   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Spiega meglio, che intendi per "un oggetto che accoda del lavoro potrebbe essere distrutto" ?
Ti riferisci al fatto che chi ha accodato il lavoro potrebbe terminare la sua esistenza prima che il lavoro sia stato eseguito dalla coda ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2008, 13:40   #3
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12967
Ma gli oggetti in C++ non vengono distrutti solo manualmente?
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 10-08-2008, 13:48   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da WarDuck Guarda i messaggi
Ma gli oggetti in C++ non vengono distrutti solo manualmente?
No, solo quelli allocati dinamicamente devono essere distrutti manualmente.

In ogni caso, se ho capito il problema, dovrebbe bastare un observer, alla distruzione dell'oggetto si invia un messaggio sull'observer, l'observer va richiamare un metodo del gestore della coda per ogni messaggio.
Ovviamente servirebbe un id univoco per determinare la lista dei lavori in coda inseriti da quell'oggetto.
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 02:59.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v