Все -Какой вариант использования многопоточности C#
Больше вопросов о подходе. У меня есть веб-служба, которой мне нужен тест производительности с клиентской машины. Поэтому, по сути, я пишу быстрое многопоточное приложение WPF (в котором есть датчик/спидометр), чтобы визуально указать время запроса/ответа. Event-driven - поэтому, когда я нажимаю кнопку - приложение начнет делать запросы. Меня беспокоит только то, сколько времени потребовалось для запроса/ответа, а не самого значения resposne (пока).
Вот моя мысль-процесс в настоящее время:
1) Мне нужно создать столько потоков, сколько я могу (который мой клиент машина может обрабатывать) и измерить производительность. 2 варианта, которые я могу придумать - создание нового механизма Thread (так что я полностью контролирую поток) или используя механизм backgroundworker (поэтому я могу передать это значение из фоновой обработки обратно в пользовательский интерфейс). Успение - придется прокручивать код создания потока, поэтому может поддерживать создание нескольких потоков для обоих подходов.
2) не нужен никакой прогресс отчетность и, следовательно, не критерии выбора многопоточного подхода
3) Есть ли нужен метод обратного вызова - потому что должно передать обратно значение (время, необходимое для запроса/ответ на webservice)
4) Когда я обновляю переменную со значением - будет использовать любой из доступных методов синхронизации.
5) Havent действительно использовал API-интерфейс задачи из рамки 4.0, но это то, что я должен рассмотреть.
Отличается ли вышеуказанная линия подхода - или я что-то упускаю?
Действительно оцените любую помощь !!!
Да, да и да еще раз для задач!Задачи изумительны, задачи этой задачи - всего лишь простая петля PLINQ, создающая веб-запросы и ожидающая ответов. –
@BenjaminGruenbaum +1 для PLINQ. Я использовал его несколько раз, и это очень легко и удобно для такого рода вещей. –
полностью согласен с @BenjaminGruenbaum –