• [^] # Re: Multicoeur ?

    Posté par . En réponse à la dépêche Intel libère TBB. Évalué à 2.

    Le probleme d'essayer de releaser une section critique avec un Mutex (ou l'inverse) c'est qu'ils n'ont pas le meme objectif et ne fonctionnent pas de la meme maniere.

    Une section critique c'est 3 choses :

    a) une structure de donnees avec plusieurs champs
    b) un spin lock pendant un nombre d'iterations determine (changeable par l'utilisateur)
    c) Si apres la fin du spin lock, la region est toujours lockee, alloue un semaphore et bloque dessus

    Alors qu'un mutex, ben... c'est un mutex(semaphore idem c'est pas le probleme).

    T'as des cas ou la section critique est lockee, et il n'y a pas de semaphore, resultat ben tu peux pas relacher un semaphore qui n'existe pas, tout ce que tu peux relacher c'est une section critique.

    Quand a la raison pour laquelle tu peux pas l'utiliser pour synchroniser plusieurs processus, c'est simplement que c'est une structure de donnees dans l'espace d'addressage du processus qui l'a allouee, bref un autre processus n'y aura pas acces.