Hilo :: Recurso :: rwlock

Clase de base de bloqueo de lectura / escritura para Perl ithReads
Descargar ahora

Hilo :: Recurso :: rwlock Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Dean Arnold
  • Sitio web del editor:
  • http://search.cpan.org/~darnold/

Hilo :: Recurso :: rwlock Etiquetas


Hilo :: Recurso :: rwlock Descripción

Lectura / escritura Clase base de bloqueo para Perl ithReads Hilo :: Recurso :: rwlock es un módulo Perl que proporciona una clase abstracta heredable, así como una implementación de objetos de concreto, para regular el acceso concurrente a los recursos. Múltiples hilos de lectura concurrentes pueden contener un hilo :: Recurso :: rwlock Readlock al mismo tiempo, mientras que un solo hilo de escritor tiene la cerradura exclusivamente. Los hilos de lector nuevos están bloqueados si algún escritor está esperando actualmente para obtener el bloqueo. El bloqueo de lectura se otorga después de que todas las solicitudes de bloqueo de escritura pendientes se han publicado.Synopsis Paquete LockedObject; usar hilos; Use hilos :: compartido; Use el hilo :: Queue :: Queeable; Usa el hilo :: Recurso :: RWLOCK; Use Base QW QW (Hilo :: Queue :: Hilo queeable :: Recurso :: RWLOCK); Sub nuevo {My $ Class = Shift; mi% obj: compartido = (); My $ Self = Bless \% obj, $ clase; # # init the Miembros de bloqueo # $. devolver $ yo; } Sub canjear {My ($ clase, $ yo); volver a bendecir $ yo, $ clase; } Paquete principal; usar hilos; Use hilos :: compartido; Use Hilo :: Queue :: DUPLEX; Use LockedObject; # # en la aplicación roscada: # MY $ READ_WRITE = LOCKEDOBJECT-> Nuevo (); MY $ TQD = Hilo :: Queue :: Duplex-> Nuevo (); My $ THRDA = HILOS-> Nuevo (\ Read_Thread, $ TQD); My $ THRDB = hilos-> Nuevo (\ write_thread, $ tqd); # # Pase el objeto compartido a cada hilo # $ tqd-> enqueue_and_wait ($ read_write); $ tqd-> enqueue_and_wait ($ read_write); # Reader Sub Read_Thread {My $ TQD = Shift; MY $ SOLICITUD = $ TQD-> DEQUEUE (); $ TQD-> Responder ($ Solicitud -> , 1); My $ obj = $ Solicitud -> ; My $ LockToken = $ obj-> read_lock (); # # hacer algunas cosas # $ obj-> Desbloquear ($ LockToken); } # Writer Sub Write_Thread {My $ Tqd = Shift; MY $ SOLICITUD = $ TQD-> DEQUEUE (); $ TQD-> Responder ($ Solicitud -> , 1); My $ obj = $ Solicitud -> ; # # Primero toma un readlock # My $ LockToken = $ obj-> read_lock (); # # hacer algunas cosas, luego actualícate a un writElock # $ obj-> write_lock (); # # hacer algunas cosas, luego desbloquear # $ obj-> Desbloquear ($ LockToken); } Requisitos: · Perl


Hilo :: Recurso :: rwlock Software relacionado

HTML :: Defang

Limpia HTML, así como CSS de Scripting y otros contenidos ejecutables, y neutraliza los ataques XSS ...

162

Descargar