From: Leandro Lucarella Date: Mon, 26 Sep 2005 06:21:00 +0000 (+0000) Subject: Módulo para tener propiedades y métodos sincronizadas X-Git-Tag: darcs_import~23 X-Git-Url: https://git.llucax.com/z.facultad/75.59/weathemulator.git/commitdiff_plain/5636e6d9905e15dc89890b05bd6d29c528481e5f?hp=f263233ccbf7b06cf9e44d5da2b2dfb4f11650c3 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 ---