1
我有一個服務器池,用於負載平衡一些工作。這項工作是分散在不連續的工作項目中,但是不可能確定給定工作項目需要多少時間。TaskScheduler仍然需要處理的任務數
每臺服務器都使用TPL來安排工作項目的工作。 爲了真正實現負載平衡,我需要能夠確定每臺服務器有多少工作項待處理。
我需要的是獲取默認TaskScheduler的計劃工作項的數量。理想情況下,我可以使用TaskSchduler.GetScheduleTasks,但此方法受到保護。
一個明顯的解決方案是編寫我自己的自定義調度程序並公開多個計劃任務。這遠非理想的解決方案,因爲我需要的只是這個數字,實際上我不會像默認的那樣編寫好的TaskScheduler。 我找不到默認任務計劃程序的實現。如果我可以,也許我可以繼承它? 任何想法,我可以解決這個問題?
爲了更具體我需要跟蹤創建的任務並檢查他們的[IsCompleted](http://msdn.microsoft.com/en-us/library/system.threading.tasks.task.iscompleted.aspx)屬性。我沒有任何其他方式來找出實際(或任何)任務何時完成。 –