2012-11-30 2 views
0

Je veux savoir comment je ferais la principale attente de fil avant que mon nouveau thread est terminé, il est processus avant de rejoindre à nouveau sur le fil principal à l'aide threadname'.join();Thread.join émet

BMove.Start(); 

BMove.Join(): < < - -Voici je voudrais que le thread BMove termine son processus avant de revenir sur le thread principal qui l'a démarré.

Je crois que mon problème est qu'il rejoint trop tôt mon nouveau thread dans le thread principal.

+0

Cette question est très difficile à comprendre. Pouvez-vous essayer d'expliquer plus clairement? Peut-être qu'un petit échantillon de code aiderait. – Blorgbeard

+0

Ce que vous avez devrait fonctionner - le thread que vous appelez 'Join' de attendra jusqu'à ce que' BMove' se termine. Est-ce que 'BMove' démarre ses propres threads ou utilise le pool de threads? – dsolimano

Répondre

-1

Avez-vous l'intention de bloquer le thread appelant (principal)?

Editer: Modifié le code. L'appel de rejoindre sur CurrentThread (premier plan) ne fonctionnera pas. Il pourrait être appelé sur le nouveau thread créé.

Plus de détails seraient nécessaires afin de répondre à votre question.

var newThread = ... 
newThread.Join(); // Will join on calling thread and block execution until newThread is running. 
+0

Rien de significatif ne peut arriver ici. Le concept d'un thread se rejoignant entraînerait le blocage du code indéfiniment. –

+0

D'accord. Modifié le code. –