Bonjour,

Pour mes besoins, j'ai dû écrire une classe dérivée de _RLock.

Mais ceci génère des Attribute Error, comme quoi un entier n'a pas de méthode is_alive.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
class PyWallELock(threading._RLock):
    def acquire(self, blocking=1):
        try:
            if self._RLock__owner != None and not self._RLock__owner.is_alive():
                self.__owner=threading.current_thread()
        except AttributeError:
            print "%i" % self._RLock__owner
        threading._RLock.acquire(self)
Et ce code donne en sortie, effectivement, un paquet de nombres entiers, du style :
140268629804816
140268650829584
140268629804816
140268650829584
140268629804816
140268629804816
140268650829584
140268650829584
140268629804816
140268650829584
140268629804816
Ou bien, lorsque je relance le script :
140000078051088
140000118101776
140000078051088
140000134887184
140000118101776
140000118101776
140000069658384
140000078051088
140000134887184

J'ai scruté l'implémentation de _RLock, mais je ne comprend pas...

J'utilise Python2.6

Merci d'avance,
ProgVal