Je souhaite que mon programme attende en permanence un déclencheur afin d'effectuer la tâche suivante.while (true) ou tcp listen: qu'est-ce qui est le plus efficace?
- Une option est la mise en pool: en utilisant une boucle infinie, par ex. while (true)
- OU, TCP écoute-t-il sur un port avec un délai d'attente relativement plus long.
Je voudrais savoir laquelle de ces deux techniques serait la plus efficace pour garder mon application en vie? Je pense que l'exécution de while (true) serait un tueur et que tcp listen pourrait être une option de santé puisque tcp listen utiliserait l'interruption matérielle?
De plus, dans les applications .net winform, nous avons la méthode Application.Run() qui maintient l'application en vie. Si quelqu'un sait ce que cette méthode fait en interne partage. PS: J'ai déjà considéré l'option msmq ici (ce qui équivaut à tcp listen) mais je ne veux pas de dépendance sur msmq.
À propos de la partie «Aussi»: veuillez en faire une question distincte. –
Qu'attendez-vous exactement? Si vous attendez une connexion TCP, l'écoute est la meilleure, sinon l'un des objets attendus, par ex. AutoResetEvent, serait mieux. Pour WaitHandles, voir http://www.yoda.arachsys.com/csharp/threads/waithandles.shtml – Ryan