Salut !
Je suis confronté à un problème un peu bloquant, donc je vous en fait part:
Disons que j'ai dans mon application une classe Données qui permet de stocker des données.... on peut donc, par son interface publique, en ajouter et y accéder. Comme ces données peuvent provenir de plusieurs sources, et que le remplissage dot être asynchrone, j'ai délégué cette mission à des threads, selon le schéma suivant:
Voici donc mon problème :
Dans le thread principal, je créé à la fois une instance de Données, et une instance d'un flux pour l'alimenter. Données n'a pas connaissance de ce flux, parcequ'elle n'a pas à savoir qui la remplit, ce n'est pas son problème
Comment faire, donc, pour que FluxDonneesFichier soit libéré de la mémoire quand il a fini son travail ? J'ai bien tenté le delete this; à la fin de la méthode run(), mais visiblement, le fait de désallouer de la mémoire qui a été allouée dans un autre thread pose problème...
Comment faire donc, sachant que je ne veux pas trop casser la modularité du truc (mon idée de départ c'était "je créé un thread pour remplir les données, et je ne m'en occupe plus du tout")...
Est-ce que vous avez des idées ?
Merci!
Partager