probleme pour activer mon thread
Bonjour à tous,
voila je souhaite qu'une méthode de mon instance de class A puisse se lancer via un thread, et que je puisse récupérer des informations de l'utilisateur via le main. J'ai donc fait :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
namespace test{
class A{
public:
A(int m_var1, int m_var2) : m_var1(m_var1), m_var2(m_var2), t1(&A::direA, this)
{
}
~A()
{
}
void direA()
{
for(int i = 0; i < 10; i++)
{
std::cout << m_var2;
}
}
private:
int m_var1;
int m_var2;
std::thread t1;
};
}
int main()
{
int** tab2D = nullptr;
test::A a(0,1);
//création d'un tableau 2D en dynamique
std::cout << "valeur de tab2D[9][9] : " << tab2D[9][9] << std::endl;
std::cout << "valeur de tab2D[0][0] : " << tab2D[0][0] << std::endl;
//delete le tableau 2D
while(true)
{
//recupere de l'information via cin
}
} |
Le probleme est quand je lance mon programme j'ai sur mon terminal :
valeur de tab2D[9][9] : 0
valeur de tab2D[0][0] : 0
et je ne vois aucune 1 apparaitre... pourtant l'appelle de mon constructeur appelle le thread et donc la boucle pour lancer le 1 dix fois
Avez vous une idée du pourquoi ?
Merci d'avance
PS : dsl pour l'affichage du code mais je ne vois aucune balise code