Bonjour,
J'ai réalisé une application qui:
- Ouvre un fichier
- lie le fichier
- Extrait des données
- test auprès d'un base SQL si les données existes déjà
- Ajout la données à la base.
...
puis refais l'étape 1...
Mon appli fonctionne très bien mais et elle est lente car tout est dans un thread.
J'aimerais découper mon programme en plusieurs thread:
- un qui ouvre le fichier
- un qui extrait les données
- un qui gere la base de données
Probleme, je connais mal le fonctionnement multi threadé.
Je pense faire communiquer le 1er et 2 thread par socet, mais puis je transmettre de grosse donner (des fichier entiere 1Mo max) par socket.
Entre le second thread et le troisieme, il me faut que les appels soit bloquant car on attend des réponses.
Je pense faire des wait et notif. Mais est ce que je suis sur le bon chemin ?
Enfin, si tout et bon, jaimerais avoir plusieurs instance du 1er et second thread pour aller plus vite. Comment puis je bien quantifier le nombre de thread max pour des performances optimale sans que ca impact le comportement (qu'il n'ai pas de conflit)
Merci davance !
Partager