2010-07-11 5 views
2

Quand je regarde dans la gestion des tâches Windows, il dit qu'il utilise 3 threads? Pourquoi est-ce? Je m'attendais à ce qu'un seul thread soit utilisé. J'ai utilisé l'IDE Netbeans et MinGW-Windows g ++ pour le compiler.Pourquoi mon appli C++ simple hello world utilise-t-elle 3 threads?

Merci

code:

#include <iostream> 
using namespace std; 

int main() { 

    cout << "Hello World"; 

    int input; 
    cin >> input; 

    return (EXIT_SUCCESS); 
} 
+1

Ceci est une question à propos de netbeans, pas C++. Et êtes-vous sûr que vous ne voulez pas dire des processus? –

+2

Non, il s'agit de C++. Je compile en utilisant g ++ de MinGW. Exécutez le programme en double-cliquant sur le fichier .exe et le nombre de threads dans Windows Task Manager est 3. – CppNewbie

+4

Exécutez-vous votre programme à l'aide de l'IDE/débogueur NetBeans ou, en tant que programme autonome à partir de la ligne de commande? – ChrisW

Répondre

6

Peut-être mettre un peu Netbeans emballage à des fins internes? (debugging, profilling, ...) De toute façon cela n'a pas d'importance parce que vous ne l'avez pas créé: ces threads ne devraient pas interférer avec votre programme et votre programme ne les interférera pas.

1

Je ne pas utiliser le Gestionnaire des tâches ou Netbeans, mais puis-je suggérer que vous avez peut-être mal interprété la sortie:

  • un thread pour démarrer un shell
  • un fil pour le shell pour exécuter votre programme
  • un thread exécutable de votre programme

total 3. Aucun sauf le dernier ont rien à voir avec C++.

+3

Le shell s'exécute en tant que processus distinct et non en tant que thread séparé. –

+0

@Billy Mais nous n'avons aucune idée de comment le PO interprète cette information. À l'aide de Process Explorer, je peux interpréter l'exécutable comme utilisant 5 threads (le total de l'arbre de processus), quand il est réellement (comme il le fera toujours) seulement en utiliser un. –