|
Bas de page | |
---|---|
Auteur | Sujet : connaitre les instances d'une classe |
Profil supprimé | Posté le 12-06-2010 à 02:40:28 Plop,
Message cité 1 fois Message édité par Profil supprimé le 12-06-2010 à 02:40:58 |
Publicité | Posté le 12-06-2010 à 02:40:28 |
masklinn í dag viðrar vel til loftárása |
--------------- Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody |
masklinn í dag viðrar vel til loftárása |
Le résultat, c'est qu'ici la classe va garder une référence vers chacune de ses instance et donc empêcher que le GC ne récupère la mémoire associée pour toujours. Et si plus le temps passe et plus tu crées d'instances (genre dans un server), tu as un memleak de qualité. La solution, c'est un mécanisme appelé "weak references". En gros, c'est une référence vers la référence, ça permet de récupérer la référence (et donc l'objet associé) mais ça n'est pas une référence complète, et ça n'empêche donc pas le GC de collecter les objets weak-referenced. Après, il y a plusieurs manières de jouer, qui tendent à faire chier à l'accès, à la création ou avant même la création weakref.ref et weakref.proxy
Donc fort coût à l'accès et chances de bugs WeakValueDictionary Donc on fait de Plop.instances un WeakValueDictionary, on met une clé à la con genre l'id de l'object, et quand on veut accéder aux instances on passe par Plop.instances.values() au lieu de plop.instances
Callbacks
Custom class
Questions? Message édité par masklinn le 12-06-2010 à 20:22:21 --------------- Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody |
Profil supprimé | Posté le 12-06-2010 à 20:51:46 merci à tous de vous être penchés sur ma question,
ces objets peuvent enregistrer des fonctions à executer sur certains évenements stockés dans self.signals.
|
Profil supprimé | Posté le 12-06-2010 à 20:54:37 @masklinn j'ai pas encore lu ton post, j'ai répondu à Eyquem entre temps, je regarde çà merci |
masklinn í dag viðrar vel til loftárása |
Et pourquoi tu réimplémentes un système de signaux? Il en existe probablement déjà, genre pydispatcher. Message cité 1 fois Message édité par masklinn le 12-06-2010 à 21:03:18 --------------- Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody |
Profil supprimé | Posté le 12-06-2010 à 21:34:11
|
Sujets relatifs | |
---|---|
Accès instances de classes... | [POO]comment structurer une classe user |
[C++] Prototype méthode membre de classe template | [Résolu] Héritage de classe, récupérer attribut de la classe parent |
Accès dynamique à une classe pour appeler .... une méthode statique | probleme d'assignation de valeur avec un tableau dans une classe |
[Résolu][Socket] connaitre l'IP de connexion | [eclipse] impossible d'éditer une classe |
Sérialisation - Spécifier un attribut de classe comme optionnel | Problème d'héritage depuis une classe abstraite |
Plus de sujets relatifs à : connaitre les instances d'une classe |