Bonjour à tous,
mon programme traite une liste de "gros" fichiers. J'utilise un thread de lecture qui empile les "choses à traiter" dans une ArrayList. Ensuite un thread d'écriture dépile, traite et écrit dans des fichiers en sortie.
Je veux suivre l'avancement du travail avec une progressBar mais elle est figée pendant le traitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 for (String fileName : allFilesNames) { // lecture du fichier Lecture lec; try { lec = new Lecture(fileName, lstChunks, '1'); } catch (FileNotFoundException ex) { myErrorMessageDialog(COMMAND_LINE, "File not found : " + ex); } // traitement Traitement wld = new Traitement (this, lstChunks, datFileName, datSelection, xmlParam, gridParam, ouputFileName, convertOptions, convertCSV); try { wld.join(); } catch (InterruptedException ex) { myErrorMessageDialog(COMMAND_LINE, "jMenuConvertAllSelectedFiles error : " + ex); } }
Mon souci vient sans doute du "join()" ci-dessus qui doit bloquer mon programme principal où se trouve la ProgressBar. J'utilise le join() pour attendre la fin du traitement d'un fichier avant de passer à l'autre.
Avez vous une idée pour résoudre mon problème ?
Vous avez compris que je débute avec les threads...
Merci
Partager