Question sur les threads

mrous Messages postés 29 Date d'inscription samedi 4 octobre 2003 Statut Membre Dernière intervention 28 juillet 2006 - 9 juin 2006 à 10:24
excrt Messages postés 75 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 3 juillet 2006 - 9 juin 2006 à 23:43
Bonjour,

je dois réaliser une fonction pour communiquer avec un composant USB.
Pour cela, je pense créer un thread en priorité haute en utilisant AfxBeginThread().
Cependant, j'ai vu qu'il existait deux sortes de threads différents: les workers threads et les ??? threads.
Est-il préférable de créer une classe dérivée de la classe Cwinthread etant donnée que j'aurais 2 voire 3 fonctions de communication USB ou créer plusieurs fonctions à asser en argument à AfxBeginThread?
De plus , je vais avoir besoin de recuperer une grande quantité d'information (au moins 16 Mo) par l'USB. Vaut-il mieux créer un heap mémoire ou alors augmenté l'espace mémoire pour le thread (j'ai vu qu'un des paramètres à passer à AfxBeginThread permet d'auygmenter l'espace mémoire du thread)?

Merci d'avance pour vos éclairages
J'espere que mes explications sont suffisamment claires, sinon n'hesitez pas à demander des précisions.

1 réponse

excrt Messages postés 75 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 3 juillet 2006
9 juin 2006 à 23:43
Le multithreading: http://bob.developpez.com/tutapiwin/article_46.php
-=-= ne l'utilise que de facon théorique puisque tu utilises les MFC's =-=-

l'espace mémoire dont tu parles est la taille de la stack(pile),
sous Windows, par défaut, la taille de la stack(pile) de chaque thread est de 1mB
ce qui est suffisant dans la majoritée des cas, on augmente la taille pour des besoins
spécifiques(hors contexte...)

utilises la mémoire dynamique(new/delete) comme tout le monde et tout va bien fonctionner

pour terminer, il n'existe pas 20 types de threads, ton « workers threads » ca probablement été
définie par un utilisateur quelconque et ensuite, manipule tes threads via les MFC's(AfxBeginThread()/etc.),
ne mélange pas l'appel direct à l'API Windows avec les MFC's, ca fait souvent !!! BOOM !!!

-=-= ExCRT =-=-
0
Rejoignez-nous