From 5636e6d9905e15dc89890b05bd6d29c528481e5f Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Mon, 26 Sep 2005 06:21:00 +0000 Subject: [PATCH] =?utf8?q?M=C3=B3dulo=20para=20tener=20propiedades=20y=20m?= =?utf8?q?=C3=A9todos=20sincronizadas=20Este=20m=C3=B3dulo=20provee=20una?= =?utf8?q?=20clase=20Synchronized=20que=20a=20trav=C3=A9s=20de=20magia=20d?= =?utf8?q?e=20metaclases=20crea=20propiedades=20sincronizadas=20utilizando?= =?utf8?q?=20mutex.=20Los=20atributos=20sincronizados=20se=20declaran=20co?= =?utf8?q?mo=20atributos=20de=20clase=20como=20instancias=20de=20SyncProp.?= =?utf8?q?=20Por=20ejemplo:=20from=20sync=20import=20*=20class=20SyncObj(S?= =?utf8?q?ynchronized):=20=09syncattr=20=3D=20SyncProp("Descripci=C3=B3n?= =?utf8?q?=20del=20atributo")=20o=20=3D=20SyncObj()=20o.syncattr=20=3D=201?= =?utf8?q?=20#=20est=C3=A1=20rodeado=20de=20un=20mutex?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 -- 2.43.0