ThreadPoolExecutor: wie stelle ich fest dass meine Threads im Pool mit ihrer Arbeit fertig sind?

sirbender

Top Contributor
Hi,

ich habe meinen eigenen ThreadPoolExecutor geschrieben. Der laeuft auch schon eine ganze Weile problemlos.

Nun muss ich ihn erweitern da ich festellen muss wann die Threads im Pool mit ihrer Arbeit fertig sind.

Wie kann ich sowas machen?

Danke,
sb
 
Ich würde die Threads von der Klasse Thread ableiten, dann ein Flag in diese Klasse geben, und wenn der Thread fertig ist, dann dieses Flag auf false setzen, ansonsten ist das Flag true.
Das ist nur mal so eine Überlegung, ansosnten müsstest du mehr preis geben damit man da genaueres sagen kann.
 
Was heisst wenn der Thread fertig ist? Ein jeder Thread im Pool hat einen Loop der endlos laeuft. Der Thread holt sich so von einer BlockingQueue immer neue Runnables. Sollte die Queue leer sein 'blockiert' die Queue wenn sich der Thread ein neues Runnable holen will...der Thread wartet also bis die Queue wieder gefuellt wird. Ich wuesste jetzt nicht wo man irgendwo ein Flag setzen koennte.
 

Zurück
Oben