7
votes

Combien de fils dans ma méthode?

Je cherche sur le Web pour cette réponse et je ne trouve rien qui fait vraiment de cela depuis moi.

J'ai un programme que je suis en cours d'exécution et que je veux compter combien de threads sont dans ma méthode à un temps.

J'ai un code dans ma fonction principale (): xxx

peut-on perdre la lumière ici ??


3 commentaires

Juste pour être clair, voulez-vous regarder ces informations dans un autre thread en cours d'exécution dans votre programme ou simplement regarder et voir pendant que vous déboguez et que vous devez savoir où le trouver dans Visual Studio?


Je ne pense pas que ce soit une bonne idée de suivre de telles informations et en fonction de ses besoins. Si vous avez besoin de quelque chose comme celui-ci dans le code de production, vous avez probablement un problème avec la conception.


@Zuljin Il pourrait être utile de vous connecter pour aider à trouver ce qui ne va pas avec une conception.


3 Réponses :


12
votes

Il n'y a aucun moyen de demander directement combien de threads sont dans une fonction donnée. La seule façon est de faire un suivi manuel xxx

REMARQUE: Si cette méthode peut être entrée de manière récursive, cela ne comptera pas avec précision le nombre de threads, mais comptera à la place le nombre de threads + nombre de fois qu'ils recensivement entré la fonction.


1 commentaires

Cela expliquerait pourquoi je ne peux pas le trouver :) merci !!



3
votes

Le seul moyen de faire ce serait d'ajouter un compteur: xxx

cavalier: Si la méthode est à nouveau entré, il s'emponera tout en imbriqué.


0 commentaires

1
votes

Ne pas attendre de nombreuses entrées / feuilles simultanées et ne vous souciez pas de la réintensif: xxx

se soucie de la réintensif: xxx

Si vous ne vous souciez pas de la réintensif, mais attendez-vous beaucoup de simultanément, mais ne voudrez pas vérifier le total à chaque fois, utilisez un compteur à rayures. Cela sera sensiblement plus lent avec une faible avancée, mais beaucoup plus rapide avec une pression élevée entre les cœurs et peut être applicable à votre cas.


0 commentaires