L'obtention de la sortie d'un Thread

Que pensez-vous est la meilleure façon d'obtenir les résultats des travaux d'un thread? Imaginez un Thread qui effectue des calculs, comment faire pour vous avertir que le programme principal, les calculs sont effectués?

Vous pourriez sondage toutes les X millisecondes pour certains publics variable appelée "travail terminé" ou quelque chose en chemin, mais ensuite, vous recevrez les résultats par la suite que quand il serait disponible... le code principal serait de perdre de temps à attendre pour eux. D'autre part, si vous utilisez une baisse des X, le CPU serait perdu d'interrogation à de nombreuses reprises.

Alors, que faites-vous pour être au courant que le Thread, ou certains Threads, ont terminé leur travail?

Désolé si ça ressemble à ce que d'autres question, c'est probablement la raison pour laquelle le eben réponse, je suppose. Ce que je sensés était en cours d'exécution beaucoup de fils et de savoir quand toutes ont fini, sans interrogation.

Je pensais plus à la ligne de partage de la charge du PROCESSEUR entre plusieurs CPU à l'aide de lots de Fils, et de savoir quand un lot est terminé. Je suppose que cela peut être fait avec Avenirs objets, mais que le blocage de la obtenir méthode ressemble beaucoup à un verrou caché, pas quelque chose que j'aime.

Merci à tous pour votre soutien. Bien que j'ai aussi aimé la réponse par erickson, je pense que saua's le plus complet, et celui que je vais utiliser dans mon propre code.

Ceci est très similaire à ce question.
>, et de savoir quand un lot est terminé. Pourquoi voulez-vous le savoir? Avez-vous besoin de quelque chose à partir de ce Lot? Ou voulez-vous pour savoir quand vous pouvez shedule plus de Tâches?

OriginalL'auteur Saiyine | 2008-12-09