Donc si ma classe est le foncteur, elle sera instanciée à chaque appel de concurrent (pour chaque fichier) non ?
Et si ma classe est partagée ça ne va pas, car elle utilise des données temporaires propres à son traitement qui ne peuvent pas être partagées entre plusieurs fichiers.
Le mieux (selon moi) est d'avoir autant d'instance de traitement que de coeurs disponible, qui gèrent chacune leur tampons internes.
Pour ces raisons je pense plutôt partir sur le QThreadPool. Je laisse du coup soin à la classe de traitement de récupérer le nom de fichier à traiter, puis de réinitialiser ses tampons avant d'en récupérer un nouveau.
Merci pour ta patience et toutes tes réponses![]()
j'aurais dis une copie par thread. Mais je n'en ai aucune preuve ^^
Ok.
Pour répartir les fichiers à traiter, tu pourrais aussi partager une liste de fichier non lue entre les threads.
QThreadPool et les QtConcurents sont plutôt pour des actions on va dire "simples".
Du coup, de ce que j'ai compris, l'utilisation de QThread semble plus logique.
Partager