Async/Await vs Veille de Thread

Il y a beaucoup d'informations ici sur le sujet, mais je voulais avoir quelques avis avant de me plonger trop loin. Si vous pouvez m'indiquer quelque chose de spécifique à ma question, qui serait aussi travailler. Alors voilà...

Je suis nouveau sur le filetage, donc pardonnez-moi si j'affiche mon ignorance. J'ai un thread qui est de la manipulation d'un Port Série de l'Auditeur. C'est à l'aide d'un ReadLine où j'ai de la mémoire tampon de la chaîne d'entrée et de passer à mon gestionnaire d'événement. À l'intérieur de mon gestionnaire d'événements, j'ai analyser la chaîne pour certaines valeurs particulières, mise à jour de mon INTERFACE, et faire de rapide de logique pour décider si c'est un nouveau record (précédent contre courant un peu la comparaison des trucs).

Le problème que j'ai c'est que c'est le tir si rapide qu'il est l'envoi partielle des cordes à mon analyseur et dossiers manquants ou à la traîne. J'ai mis un Fil.Dormir pendant 100ms dans mon gestionnaire juste avant que j'appelle mon analyseur et ça fonctionne (des heures et des heures sans manquer un record), mais j'ai lu que de mettre les fils de sommeil est de mauvaise conception. Si je comprends bien, la seule autre thread est mon INTERFACE utilisateur est mise à jour à la perfection. Donc, je ne vais pas attendre pour un thread de compléter le traitement par un autre thread pour lancer le traitement. Je ne vois pas de blocage ou de conditions de course, comme je les comprends. C'est bang bang, de l'enregistrement suivant.

Y aurait-il une meilleure façon de gérer cela? Vais-je avoir des ennuis de mettre mon fils à dormir?

-2
2019-09-17 22:40:03
source
0 réponses

Voir d'autres questions sur les étiquettes