Envoyé par JeitEmgie
API portable : pthread
a priori, 3 threads :
a. principal : interaction avec l'utilisateur et affichage
b. acquisition
c. calcul (mais pourrait faire l'objet de + d'1 thread…)
utilisez pthread_attr_setschedpolicy pour déterminer la priorité d'accès aux mutex, mais comme toutes les plate-formes ne supportent pas cette fonctionnalité, mettrez le code d'optimisation des priorités dans une fonction à part qui regroupera les compilations conditionnelles en fonction de l'environnement,
(ce qui vous permettra d'utiliser d'autres techniques de gestion des priorités des threads sur certaines plate-formes…)
communication entre threads (en gros)
principal vers acquisition
start
stop
(pause ?)
acquisition vers principal
status
acquisition vers calcul
data available
calcul vers principal
refresh display
verrous sur les données partagées (buffers d'acquisition, résultats des calculs,…)
verrous conditionnels pour exprimer les états