UnlockMutex()
Syntaxe
UnlockMutex(Mutex)Description
Déverrouille un mutex préalablement verrouillé avec LockMutex().
Arguments
Mutex Le mutex à déverrouiller.
Valeur de retour
Aucune.
Remarques
Un mutex ne peut être déverrouillé que par le thread qui l'a bloqué.
Exemple
; Exécutez ce programme une fois comme il se présente. ; Vous verrez que les lignes imprimées seront ; mélangées entre les threads. Puis supprimez ; les commentaires devant les commandes de Mutex ; et les chaînes seront imprimées dans l'ordre, ; car un seul thread à la fois sera autorisé ; à exécuter les commandes d'impression. ; Procedure SansMutex(*Numero) Shared Mutex For a = 1 To 5 ;LockMutex(Mutex) ; supprimez le commentaire pour voir la différence PrintN("Thread "+Str(*Numero)+" essaie d'imprimer 5 fois a la suite :") For b = 1 To 5 Delay(50) PrintN("Thread "+Str(*Numero)+" Ligne "+Str(b)) Next b ;UnlockMutex(Mutex) ; supprimez le commentaire pour voir la différence Next a EndProcedure OpenConsole() Mutex = CreateMutex() thread1 = CreateThread(@SansMutex(), 1) Delay(25) thread2 = CreateThread(@SansMutex(), 2) Delay(25) thread3 = CreateThread(@SansMutex(), 3) WaitThread(thread1) WaitThread(thread2) WaitThread(thread3) Input()
Voir aussi
LockMutex(), TryLockMutex(), CreateMutex()
OS Supportés
Tous