Salut à tous,
Je débute dans le multi-threading et j'ai un petit problème.
Mon programme doit scruter en permanance un répertoire et déplacer les fichiers présents sous certaines conditions.
J'ai donc bien mon thread principal qui scrute toutes les 10 secondes mon répertoire. J'ai une classe qui contient une hashtable où sont stocké les threads qui vont travailler chacun sur un des fichiers (5 maximum).
Donc je trouve un fichier -> je prends un thread libre dans mon pool -> j'appelle la méthode start du thread -> le run est executé et appelle les fonctions de traitement
Tout se passe bien la premiere boucle, mes 5 premiers fichiers sont traités. Pour les fichiers suivants les threads n'ayant pas fini leur traitement, il ne se passe rien, ca c'est normal. Boucle suivante, les 5 premiers fichiers sont affectés aux threads libres, ca c'est bon. J'appelle la méthode start mais je ne vais jamais dans le run.
Comment est ce que je peux faire pr m'en sortir? Si j'appelle la méthode run directement, les commandes sont executées les unes à la suite des autres sans multi-threading.
Merci pr vos réponses
Partager