"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...