Historique des modifications - Message

Message #1750

Sujet: [raknet] reseau simple sans serveur


TypeDateAuteurContenu
Création du message02-03-2007 18:28:20dark calculator
Donc si j'ai bien compris il faut une section critique et tout le tralala uniquement si l'ordre dans lequel les données sont modifié est important ou si les changements peuvent etre instable.

Par exemple est ce que le code suivant peut devenir instable :
int* i[99]; 
int nbr = -1;

void *th1(void* ptr)
{
    while (nbr!=98)
    {
        nbr++;
        i[nbr] = new int(5);
    }
}



void *th2(void* ptr)
{
    while (1)
    {
        for (int j=0;j<=nbr;j++)
        {
            printf("%i",*i);
         }
         printf("\
");
    }
}

int main()
{
     int t1 = create_thread(th1);
     int t2 = create_thread(th2);
}

Si j'ai bien compris ce code (qui est totalement inutile) est instable car dans th1 il est possible que nbr soit incremente et que juste apres soit lancé lz printf sur le i[nbr] qui n'existe pas encore.

D'ailleur comment ce passe le fait que nbr peut avoir changer entre le debut et la fin de la boucle (je suppose comme il fait le test a chaque boucle qu'il va tenir compte de la nouvelle valeur de nbr)

Encore merci(je n'en finit plus de te dire merciwink)
Ton aide mes precieuses et m'aide beacoup a clarifier les choses

dark calculator

Retour

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
77 invités en ligne
membre en ligne: -
RSS Feed