2017-09-22 5 views
0

Je travaille sur une application iOS Xamarin qui utilise une manette de jeu et envoie l'entrée à un serveur via un protocole TCP client d'un débit de ~ 40 messages/s. Ce qui donnerait les meilleurs résultats de performance de l'application; ayant un thread dédié envoyant les messages, ou utilisant async/wait comme ceci: await WriteAsync(data, 0, data.Length).ConfigureAwait(false)Processeur asynchrone ou séparé pour l'envoi du client TCP à haute fréquence

Répondre

0

Il y a définitivement des avantages et des inconvénients à utiliser ConfigureAwait(false). Cela permettra au travail de retourner à n'importe quel thread disponible, mais implique un surcoût supplémentaire pour les threads context-switch. Toutefois, si votre système de messagerie est un système ignifuge et que votre message est traité par un autre processus, la méthode await n'est pas nécessaire. (Par défaut) peut être préférable d'éviter le changement de contexte, rappelez-vous que ces éléments dépendent également du matériel.

Ceci peut être d'une meilleure utilisation: When to use ConfigureAwait