Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119

    [C] Accesso concorrente ad hashtable

    "Piccolo" problemuccio... ho dei thread che accedono in maniera concorrente ad una tabella hash.
    Ora... per quanto riguarda l'accesso condiviso non ho particolari problemi perche' sono "sicuro" che i thread vanno ad accedere ad entry differenti.
    Siccome, pero', periodicamente ho bisogno di "ripulire" la tabella mediante un thread apposito che agisca, diciamo, da garbage collector... vorrei sapere se e' preferibile lockare l'intera hashtable oppure mandare in wait tutti gli altri thread (Tramite sigwait) prima di procedere all'analisi/pulizia dei dati presenti in tabella.

    Potrebbe essere plausibile, invece, adottare una politica tale da permettere di lockare la tabella non interamente bensi' "a blocchi" in modo da permettere almeno ad alcuni thread l'accesso concorrente alla tabella stessa ?

    P.S.: spero di essermi "spiegato" in maniera quanto meno decente...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Dipende dal tipo di lavoro che devi fare ... potrebbe anche bastare un "lock di riga", in modo da bloccare solamente la riga in cui lavori ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    E' proprio quello a cui pensavo visto che tra l'altro su ogni "riga" lavora sempre e soltanto uno stesso thread e pertanto tutti gli altri thread sarebbero ancora liberi di effettuare il proprio lavoro senza rischi di "corse" critiche.

    Il "problema" e' che l'implementazione di hashtable che sto utilizzando mette a disp. un iteratore che permette di "scorrere" tutti gli elementi presenti in tabella.

    Non saprei bene, quindi, almeno per il momento, come poter "lockare" una singola riga, ovvero tutti quegli elementi che hanno la stessa hash.

    O quanto meno non saprei come farlo senza violare un minimo di "information hiding"...

  4. #4
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    NEssun suggerimento a tal proposito... considerando che l'implementazione di hashtable utilizzata e' QUESTA ?

  5. #5
    scusami ma visto che devi gestire questi problemi perchè a questo punto non usi un semplice dbms e ti risolvi tutti i problemi con 0 preoccupazioni?

  6. #6
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    Originariamente inviato da xnavigator
    scusami ma visto che devi gestire questi problemi perchè a questo punto non usi un semplice dbms e ti risolvi tutti i problemi con 0 preoccupazioni?
    Perche' un dbms, per il tipo di applicazione in questione, non e' adatto.
    Fa inoltre parte delle specifiche di progetto utilizzare una hashtable del "tipo" sopra indicato.

  7. #7
    bhè se devi fare qualcosa di tipo "accademico" allora è plausibile...

    ma che qualcuno per lavoro ti obblighi ad usare le hash table e soprattutto a prevedere la concorrenza no

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.