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