Bonjour,
Dans le but de réaliser une liaison avec un matériel communiquant en USB-HID, j'ai écrit un petit bout de programme qui ouvre le port USB en lecture/Ecriture avec CreateFile, en mode bloquant, puis un thread secondaire (créé avec CreateThread) boucle sur WriteFile bloquant pour envoyer les paquets d'octets lorsqu'ils sont disponibles.
Ca marche bien, mais le temps d'occupation du processeur est voisin de 100%. Je ne comprends pas bien, le scheduler ne devrait il pas passer la main au autres taches ? J'ai essayé avec la version non bloquante (OVERLAPPED) avec un WaitForSingleObject(ReportEvent, 50) après le WriteFile, comme c'est indiqué dans tous les bons tutos. Meme résultat. Tout ceci tourne dans une boucle infinie dans le thread secondaire, jusqu'à ce que le programme tue le thread quand il a fini. Manifestement, j'ai du rater un épisode sur la programmation avec les threads.
Quelqu'un peut il m'éclairer, pourquoi mon thread consomme t-il tout le temps processeur ?
Merci d'avance
Olivier
Partager