Bonjour,
le lien est mort (depuis 2005, c'est sûrement normal)
Bon, de ce que j'ai lu, on peut passer un objet et un seul en paramètre, au lancement du thread, ok
A part des variables globales, il y a-t-il (maintenant) possibilité de communiquer avec le thread ?
Par exemple, je surveille et acquiers des données sur une ligne hard, que je ne peux interrompre sans risque de perdre des données qui arrivent en permanence (acquisition par DMA bouclé), je cumule ces données dans des blocs de 64K (4 blocs tournants) et quand un des bloc est plein, je voudrais (pendant que je continue l'acquisition dans les autres) indiquer à un thread (au travers une exception) de l'enregistrer sur le HDD puis de libérer ce bloc. Comment partager ces blocs et les indicateurs de (libre, occupé, plein) ? est-ce forcément en global ?
je souhaite aussi indiquer au thread que ce n'est plus la peine d'attendre, j'ai arrêté l'acquisition des données, je voudrais alors demander au thread qu'il s'arrête. Le "abort()", est exclu (et il me semble qu'il n'est plus supporté), en effet, il ne permettrait pas d'enregistrer les dernières données des blocs.
Merci de vos réponses et bonne journée
Bonjour
"Bon, de ce que j'ai lu, on peut passer un objet et un seul en paramètre, au lancement du thread, ok" ça dépend du type de thread.
"indiquer à un thread (au travers une exception) de l'enregistrer sur le HDD puis de libérer ce bloc"
A travers une exception c'est une mauvaise idée, normalement ça va planter le thread.
Globalement, il faut choisir le type de thread le mieux adapté à ta demande.
C'est un ratio facilité d'utilisation / priorité du thread / vitesse.
A quelle cadence tourne ta boucle d'acquisition?
Quelle priorité doit avoir ce thread?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionJ'ai résolu mon problème
j'avais un message de 10 à 512 mots de 16 bits toutes les 16ms avec une moyenne de 128 mots/message
j'ai réduit mes blocs à 4k (1 cluster), 4 blocs tournants, cela convient parfaitement avec ma l'équipement dont je dispose.
On en apprends tous les jours, et ce n'est pas fini.
Je viens de faire des simulations, cela fonctionne, j'ai même de la marge
Merci pour ton aide, je marque "résolu"
Ah bah non, je ne mets pas résolu, je ne suis pas à l'origine de ce post