回答
每個線程都有一個id。你可以用
Thread t;
int id = t.ManagedThreadId;
訪問它的一些狀態更新全局數據結構我會用一本字典,並使用id作爲重點。注意鎖定該數據結構的訪問:
Dictionary<int, SomeStateClass> threadStates = new Dictionary<int, SomeStateClass>();
public void updateThreadState(int id, SomeStateClass newState) {
lock (threadStates) {
threadStates[id] = newState;
}
}
您可以使用Thread.CurrentThread.ManagedThreadId來識別託管線程。並且請記住Invoke調用您的列表框(或在您使用WPF時使用Dispatcher),因爲UI線程以外的線程無法直接訪問它。
如果我將數據填充到List並將ListBox的數據源設置爲List,那麼是否需要調用調用? – 2011-12-20 08:54:57
@Mahdi:是的,你需要一個調用,順便說一句,因爲你要在輔助主線上執行主線程。 – Tigran 2011-12-20 08:58:18
您可以使用Invoke
與委託。然後每個線程將負責更新它擁有的ListBoxItem。
你可以只讓你想監控的Thread的集合(數組,列表,任何你想要的)。該線程類公開了許多您可能需要的屬性,包括ThreadState屬性。從那裏很容易顯示你想要的信息。
這樣你的工作線程就不用擔心通知他們的狀態。
- 1. 通過狀態和顯示總的每個狀態的在Java
- 2. C99 fesetround()/ fegetround()狀態是每個線程還是每個進程?
- 3. 在GUI中顯示另一個線程的狀態
- 4. 線程轉儲顯示線程狀態不正確
- 5. SQL顯示日期每狀態
- 6. 線程狀態
- 7. 狀態的線程
- 8. 顯示Xbox Live在線狀態?
- 9. 單線程應用程序顯示競爭狀態,如行爲
- 10. 收集每個服務的顯示名稱和狀態
- 11. 分析圖:顯示每個區域的狀態數據明智
- 12. Eclipse正在顯示處於等待狀態的每個任務
- 13. pthread線程狀態
- 14. 線程池中的線程狀態
- 15. MySQL顯示狀態
- 16. 如何在perl中調用每個線程狀態?
- 17. 使用後臺線程時高效顯示文件狀態
- 18. 雙態按鈕:顯示當前狀態或下一個狀態?
- 19. 線程,wxPython的和狀態
- 20. 如何在狀態爲up的狀態下顯示SimpleButton狀態
- 21. 顯示的到達狀態
- 22. HAProxy的狀態顯示DOWN
- 23. 顯示Twitter的狀態Ouath
- 24. 類的顯示狀態
- 25. C++鉤子進程和顯示狀態
- 26. 顯示應用程序狀態iOS
- 27. 多線程工作線程狀態
- 28. Twitch流狀態顯示在線。當用戶離線
- 29. Smack錯誤地顯示在線/離線狀態
- 30. 如何在Django 1.9中顯示用戶狀態(在線,離線)?
你是什麼意思的線程狀態?例如 – Falanwe 2011-12-20 08:54:26
@Falanwe剩下多少時間。 – 2011-12-20 09:14:04