我有一個場景,我試圖通過預先獲取結果的一些子元素,如果可能的話,它們實際上是用戶需要之前變成一個更響應的用戶界面。我不清楚如何最好地處理線程,所以我希望有人能提供一些建議。ThreadPool適用於此線程場景嗎?
方案
有搜索表單(.NET富客戶端),使用戶能夠選擇一個帳戶對於一個給定的客戶。用戶搜索給定文本以查找一系列客戶,然後顯示在結果網格中。然後,當用戶選擇一個客戶時,該客戶的賬戶列表將被搜索並顯示在第二個網格中供用戶選擇,以便組成要打開的最終上下文(即賬戶)。
現有的系統
我使用定期後臺線程來解決客戶的請求/響應方式這一切運行,並在用戶選擇直接響應分別佔客戶。用戶界面被鎖定/禁用(但響應),直到找到帳戶。
目標
我想實現的是開始,用戶已經選擇在他們面前......其中N是顯示在網格項目的數量佔前N個客戶的獲取。
隨着用戶滾動網格,新顯示的項目將被添加到「隊列」中以便獲取。
問題
- 是線程池管理線程的適當機制?如果是這樣,你能強制一個排隊的工作項目優先跳躍嗎? - 例如如果用戶在開始/完成抓取之前選擇了該顧客。
- 如果不是,我還應該做些什麼?
- 無論哪種方式,您是否知道任何具有此功能的優秀博客帖子和/或開源項目?
只要您不介意可能被加載兩次並拋出舊副本的數據,cache-with-preloader方法絕對是最容易正確使用的方法。如果你正在加載有狀態或特別昂貴的東西,那麼你可能需要一個自動(延遲加載)緩存。 – Aaronaught 2010-06-03 16:26:41