Tous -Quelle option de multithreading C# utiliser
Plus d'une question d'approche. J'ai un service web dont j'ai besoin pour tester la performance depuis un ordinateur client. Donc en substance je suis en train d'écrire une application multi-thread rapide WPF (qui a un jauge/compteur de vitesse en elle) pour indiquer visuellement le temps de demande/réponse. Event-driven - donc quand je clique sur un bouton - l'application va commencer à faire des demandes. Je suis seulement préoccupé par combien de temps il a fallu pour la demande/réponse et pas la valeur de Resposne elle-même (pour l'instant).
Voici mon processus de pensée actuellement:
1) Je dois créer autant de threads que je peux (que ma machine cliente peut prendre en charge) et mesurer la performance. 2 options que je peux penser - créer un nouveau mécanisme Thread (donc j'ai un contrôle total sur le thread) ou en utilisant un mécanisme d'arrière-plan (afin que je puisse transmettre cette valeur du traitement en arrière à l'interface utilisateur). Hypothèse - devra faire une boucle dans le code de création du thread - donc peut continuer à créer plusieurs threads pour les deux approches.
2) Dont besoin des progrès de rapports et donc qui ne sont pas des critères pour le choix d'une approche
3) multi-thread Avez-vous besoin d'une méthode de rappel - car cela devrait passer de nouveau la valeur (temps pris pour une demande/réponse au service web)
4) Lorsque je mets à jour une variable avec une valeur, j'utiliserai l'une des méthodes de synchronisation disponibles.
5) Havent a vraiment utilisé l'API Task de la structure 4.0 - mais c'est quelque chose que je devrais considérer.
Est-ce que la ligne d'approche ci-dessus a l'air bien - ou est-ce qu'il me manque quelque chose?
Vraiment apprécier toute aide !!!
Oui, Oui et Oui une fois de plus pour les tâches!Les tâches sont étonnantes, avec des tâches cette tâche entière est juste une simple boucle PLINQ, créant des webrequests et attendant des réponses. –
@BenjaminGruenbaum +1 pour PLINQ. Je l'ai utilisé à plusieurs reprises maintenant et c'est super facile et génial pour ce genre de chose. –
Tout à fait d'accord avec @BenjaminGruenbaum –