全部 -其中C#多線程選項使用
更多的方法問題。我有一個Web服務,我需要從客戶端機器進行性能測試。所以本質上我正在編寫一個快速的WPF多線程應用程序(裏面有一個量表/速度表)來直觀地表示請求/響應時間。事件驅動 - 所以當我點擊一個按鈕 - 應用程序將開始提出請求。我只關心請求/響應花了多少時間,而不是現在的resposne值本身。
這是我目前思考的過程:
1)我需要創建儘可能多的線程,我可以(這我的客戶機可以處理),並衡量性能。 2個選項我可以考慮 - 創建一個新的Thread機制(所以我可以完全控制該線程)或使用backgroundworker機制(這樣我可以將該值從後臺處理傳遞迴UI)。假設 - 將不得不遍歷線程創建代碼 - 因此可以爲這兩種方法創建多個線程。
2)不需要任何進展報告,因此這不是標準用於選擇多線程方式
3)是否需要一個回調方法 - 因爲這應該傳回的值(取爲請求時間/響應web服務)
4)當我更新一個值的變量 - 將利用任何一種可用的同步方法。
5)沒有真正使用4.0框架中的任務API - 但那是我應該考慮的。
上述方法看起來不錯嗎?或者我錯過了什麼嗎?
真的很感謝任何幫助!
是的,是的,是再一次的任務!任務是驚人的,整個任務的任務只是一個簡單的PLINQ循環,創建webrequests並等待響應。 – 2013-03-14 17:38:02
@BenjaminGruenbaum +1 PLINQ。我已經在幾次使用它,這對於這類事情來說是非常容易和很棒的。 – 2013-03-14 17:40:27
完全同意@BenjaminGruenbaum – 2013-03-14 17:40:55