Discussione :: Risorsa :: rwlock

Lettura / scrittura Lock Base Class per Perl Ithreads
Scarica ora

Discussione :: Risorsa :: rwlock Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • Perl Artistic License
  • Prezzo:
  • FREE
  • Nome editore:
  • Dean Arnold
  • Sito web dell'editore:
  • http://search.cpan.org/~darnold/

Discussione :: Risorsa :: rwlock Tag


Discussione :: Risorsa :: rwlock Descrizione

Lettura / scrittura Lock Base Class per Perl Ithreads Thread :: Resource :: Rwlock è un modulo Perl che fornisce sia una classe astratta ereditabile, nonché un'implementazione di oggetti concreti, per regolare l'accesso simultaneo alle risorse. I thread del lettore concorrenti possono contenere un thread :: risorsa :: Rwlock Readlock :: Rwlock Readlock contemporaneamente, mentre un singolo thread writer tiene premuto il blocco esclusivamente.New Reader I thread dei lettore sono bloccati se uno scrittore è attualmente in attesa di ottenere il blocco. Il blocco delle lettura è concesso dopo che tutte le richieste di blocco di scrittura in attesa sono state rilasciate.Synopsis Package LockEDobject; usare i fili; Usa i thread :: condivisa; Usa Thread :: Code :: Coundeable; Usa Thread :: Risorsa :: rwlock; Utilizzare Base QW (Thread :: Code :: Royalty Royalty :: Resource :: rwlock); Sub New {My $ Class = Shift; My% Obj: condiviso = (); My $ Self = Blelded \% obj, $ Class; # # init i membri di blocco # $ self-> thread :: risorsa :: rwlock :: Adorn (); restituire $ sé; } sub riscatta {mia ($ classe, $ sé); Ritorna Bened $ Self, $ Class; } Pacchetto principale; usare i fili; Usa i thread :: condivisa; Usa Thread :: Code :: Duplex; Utilizzare LockEDobject; # # in app filettata: # My $ read_write = LockEDobject-> nuovo (); My $ TQD = thread :: coda :: duplex-> nuovo (); My $ ThRDA = Threads-> Nuovo (\ read_thread, $ TQD); My $ Thrdb = Threads-> Nuovo (\ write_thread, $ TQD); # # passare l'oggetto condiviso per ogni filo # $ tqd-> enqueue_and_wait ($ read_write); $ tqd-> enqueuee_and_wait ($ read_write); # Reader Sub Read_Thread {My $ TQD = Shift; My $ Richiesta = $ TQD-> Dequeue (); $ TQD-> Rispondi ($ richiesta -> , 1); My $ OBJ = $ Richiedi -> ; My $ Locktoken = $ obj-> read_lock (); # # fare alcune cose # $ obj-> sblocco ($ locktoken); } # Writer sub writer_thread {my $ tqd = shift; My $ Richiesta = $ TQD-> Dequeue (); $ TQD-> Rispondi ($ richiesta -> , 1); My $ OBJ = $ Richiedi -> ; # # prima afferrare un readlock # mio $ locktoken = $ obj-> read_lock (); # # fai qualche roba, quindi eseguire l'upgrade a uno scrittore # $ obj-> write_lock (); # # Fai qualche roba, quindi sblocco # $ obj-> sblocco ($ locktoken); } Requisiti: · Perl.


Discussione :: Risorsa :: rwlock Software correlato

Ncar.

L'obiettivo è fornire all'utente i comandi NCAR nativi ...

165

Scarica