我目前工作的一個項目,我希望能夠找到解決這個場景的技術:等待隊列多個分支
還有人在一個房間裏等着拿的很多測試之一。可以爲每個人分配多個測試。每次測試可以在給定的時間在一個或多個地點進行,但是一次只能有一個人在給定的地點參加測試。
將人們隨機分配到測試中並最終完成測試是相對簡單的,但是我可以使用什麼樣的系統來讓人們等待相對平等的時間呢?如果我只是隨機分配他們,那麼只需要參加其中一項測試的人就可以放在需要參加測試的人員後面。
我曾考慮過先分配測試數量較少的人,但是我還沒有測試過,似乎仍然是不公平的。爲了增加複雜性,我添加了一個功能,可以改變優先級。
要清楚,這不是一項家庭作業。這個項目還處於邏輯發展階段,所以我沒有真正開始編程來比較不同的技術。我想到的最接近的東西是創建一個有點像線程池的系統,但是我沒有找到任何能夠詳細描述線程池背後的技術的東西,看起來好像需要一點點的開銷,如果我只是直接使用線程池,仍然會遇到問題。我也研究過C#Queue類,但我沒有想過擴展其功能的方法。
任何人有任何想法或建議?