Salut !
Je ne suis pas expert en C++, j'ai ecris pas mal de programes mais je ne me suis jamais vraiement lancé sur les threads.
Je bosse sous linux, j'ai etudié à droite et à gauche les threads mais je n'ai pas trouvé de réponse à ma question. Il me semble avoir compris que pour lire des données, les threads ne pausent pas de soucis. La ou ça coince c'est quand on modifie des variables. La dessus vive les mutex et autres sémaphores. Ce que je ne pige pas c'est quel est le seuil critique...
Je veux dire est-ce critique si 2 thread cherchent à modifier le même int en même temps ? Est-ce q'un troisieme thread qui cherche à lire ce int peut avoir autre chose que la valeur du thread 1 ou 2 ? Est-ce qu'il peut y avoir un crash du preocess à ce stade ?
Je me pose la même question pour ce qui est des pointeurs. Si je cherche à acceder à un objet :
a->b->c->monInt=10
Est-ce q'il peut se passer qq chose entre a->b et b->c ? Est-ce q'un thread peut avoir le temps d'effectuer une tache alors que le premier est en train de rentrer dans l'arbre ?
Merci à vous !
Partager