Exemples de threads

Description

L'objectif final est de suivre la progression en temps réel de traitements longs. Cet objectif n'est pas pleinement atteint dans l'état actuel du code.

Mais j'ai du me familiariser avec les concepts subtils des Threads dont l'exécution n'est pas linéaire. Afin de faire profiter les débutants des développements progressifs de mes tests, plusieurs exemples sont donnés ici par le biais de 3 projets :

Projet 1 : 2 exemples minimalistes comme on en trouve déjà sur la toile

Projet 2 : 2 threads indépendants : voyant clignotant et progressbar d'une boucle fictive

Projet 3 : un mini projet réel de parcours et de traitement de fichier. Les threads sont dépendants et contrôlés.
le projet comprend un générateur de fichiers tests. Dès que le test est terminé, le fichier change d'extension afin de générer automatiquement un autre fichier de test.

Source / Exemple :


Trois projets sont fournis avec chacun une seule unité. 
Les sources sont détaillés mais j'y ai adjoint un fichier de description synthétique et détaillé également pour les débutants: "Utilisation des Threads.pdf". 
j'y explique les problèmes qui se sont posés à moi et les solutions pour les résoudre ou les choix temporaires effectués.

Conclusion :


Le projet n'est pas terminé. La génération automatique des fichiers de tests alourdit un peu le code...

Mon souci est de génerer une structure de code qui reste lisible dans le corps principal de la fiche. Le fait que mon traitement long figure totalement dans la méthode Execute ne me plait qu'à moitié.

En effet, dans le projet initial qui a motivé ce test, ça n'est pas un mais plusieurs traitements longs qui s'enchainent. Certains pourront s'exécuter simultanément mais d'autres devront attendre la fin d'autres séquences d'analyses...

Par ailleurs le contôle du clignotement et des différents Threads souffrent encore de quelques ratés. Donc le code reste à améliorer...

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.