]> git.llucax.com Git - z.facultad/75.59/weathemulator.git/commit
Módulo para tener propiedades y métodos sincronizadas
authorLeandro Lucarella <luca@llucax.hn.org>
Mon, 26 Sep 2005 06:21:00 +0000 (06:21 +0000)
committerLeandro Lucarella <luca@llucax.hn.org>
Mon, 26 Sep 2005 06:21:00 +0000 (06:21 +0000)
commit5636e6d9905e15dc89890b05bd6d29c528481e5f
tree332df531f4cfb71839d5d20ffa21588e97d1516e
parentf263233ccbf7b06cf9e44d5da2b2dfb4f11650c3
Módulo para tener propiedades y métodos sincronizadas
Este módulo provee una clase Synchronized que a través de magia de metaclases
crea propiedades sincronizadas utilizando mutex. Los atributos sincronizados se
declaran como atributos de clase como instancias de SyncProp. Por ejemplo:
from sync import *
class SyncObj(Synchronized):
syncattr = SyncProp("Descripción del atributo")
o = SyncObj()
o.syncattr = 1 # está rodeado de un mutex

También se provee un wrapper para métodos que puede usarse como decorator:
class SyncObj(Synchronized):
@synchronized
def syncmethod(self):
# Hace cosas
o = SyncObj()
o.syncmethod() # está rodeado de un mutex