Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [VB.NET] MUTEX

  1. #1
    Utente di HTML.it L'avatar di deedlyt
    Registrato dal
    Jan 2002
    Messaggi
    444

    [vb.net] MUTEX

    Salve..

    Qualcuno mi sa spiegare meglio con esempio l'argomento MUTEX???

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    40
    MUTEX sta per MUTual Exclusion

    è un sistema per impedire l'accesso contemporaneo a zone di memoria condivise tra più threads

    puo avere due stati: UNLOCKED (cioè che non appartiene a nessun thread), LOCKED (cioè bloccato da un thread)

    quando un thread deve modificare una zona di memoria condivisa da altri thread, deve impedire che questi altri thread accedano a questa zona di memoria mentre è utilizzata da "lui" stesso.

    per questo motivo ci deve essere un mutex condiviso tra tutti i thread, che viene bloccato da uno soltanto di essi quando deve accedere ai dati della zona di memoria condivisa.

    un thread richiede al kernel di bloccare il mutex, se il kernel ritorna OK allora è garantito che il mutex è bloccato e il thread può quindi manipolare i dati e successivamente sbloccare il mutex (il kernel garantisce che uno e soltanto un thread ottenga il LOCK del mutex), l'esecuzione degli altri thread che richiedono il blocco del mutex mentre è già bloccato è sospesa dal kernel stesso

    naturalmente tutti i thread devono stare al gioco, ovvero sta al programmatore prevedere che ogni thread blocchi il mutex condiviso prima di manipolare i dati, pena la corruzione dei dati stessi.

    PS cmq se vuoi giocare con i mutex, passa almeno al VC++ oppure (ancora meglio) passa a un qualsiasi *nix (leggi linux o freebsd) e NON usare windows.

    PS2 la classe VC++ che più si avvicina ai mutex è CCriticalSection

    CIAO

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.