通用列表的使用
回答
你有一個服務接受來自多個應用程序的請求,併爲它們中的每一個提供句柄。該服務可以維護鏈接列表中的每個請求的上下文,並在其完成服務時從列表中刪除該節點。這種情況下的空鏈表意味着沒有應用程序註冊到該服務。
對於例如,考慮建在SIP stack和多個應用程序等IM該服務,可以Presence information與使用SIP棧用於信令的服務進行註冊。現在,該服務將與每個應用程序有關的數據保存在一個鏈表中(這又是一個設計問題,但假設我們有限制服務5個應用程序)。 SIP響應必須重定向到發送請求的應用程序,並說您將回調指針作爲節點的一個值,只要找到響應的相應節點,就可以很簡單地調用它。
每個節點都會保存大量有關每個應用程序的信息,並使用它來將響應發送迴應用程序。您可能需要查看this。
它的通用性允許你創建一些(測試和可靠的)庫代碼,然後可以重用它。
當然,這不是類型安全這就是爲什麼C++引入(除其他外)泛型模板類。
至於鏈接列表本身的使用:你用它來存儲和檢索可變數目的類似對象。通常情況下,您不會事先知道對象的數量,您可以按照存儲它們的順序獲取它們。從鏈表中刪除一個對象也是非常有效的(一旦你有一個指向它的列表條目的指針)。
什麼是它的實時應用方面使用這樣的列表的使用
如果你已經是這個定義和一個指向列表的頭部,那麼它只能爲好創建一個任意的對象堆棧。這是因爲要做任何事情,除了添加或移除一個對象到列表的頭部,你必須遍歷它。即使有限的「效率」,這樣的清單也有其用途,例如作爲您將要回收以避免malloc的未使用的堆對象的緩存。
如果您還有一個指向列表尾部的指針,您可以添加對象以O(1)時間結束。這意味着您可以將其用作隊列。
如果每個項目都有指向其前任以及後繼者的指針,還可以在O(1)時間內從列表中的任意點插入/刪除項目。當然,你仍然需要找到可能涉及線性掃描的對象。
- 1. TPL通用列表使用
- 2. 通用列表的列表
- 3. 使用反射的通用列表
- 4. 構建和使用通用列表?
- 5. 在ListDataProvider中使用通用列表
- 6. 使用通用接口列表
- 7. 使用通用列表和ArrayList
- 8. 通用類列表的通用方法
- 9. 通用對象的通用列表
- 10. 如何在通用列表中使用。Where在通用列表中
- 11. 數列表通用
- 12. 通用列表c#
- 13. 泛型的通用列表
- 14. GWT的通用列表AsyncDataProvider
- 15. 使用陣列的通用隊列
- 16. 使用通用列表+ C#在不同名稱空間之間傳遞數據使用通用列表+ C#
- 17. 如何將聯合通用列表轉換爲通用列表?
- 18. 通用類與通用數組列表
- 19. 調用使用返回通用列表的方法的類型列表的列表?
- 20. 使用Java中的通用類創建的排序列表列表
- 21. 使用jQuery通過列表箭頭
- 22. 通過遍歷列表使用jQuery
- 23. 使用RTTI調用通用列表的方法
- 24. 通用lisp:將列表讀入列表
- 25. 返回對通用列表的引用?
- 26. 網絡引用中的通用列表
- 27. 使用通用列表反序列化對象
- 28. 通過itertools.product使用列表內部列表
- 29. 使用Outlook通訊組列表填充下拉列表
- 30. 使用linq通過第二個列表修改列表
嘗試閱讀http://en.wikipedia.org/wiki/Linked_list – Kricket 2010-12-20 11:07:12
您能否重新描述您的問題並給出一些背景知道您的意思是「這個清單的用途是什麼實時應用程序使用「?謝謝。 – 2010-12-20 11:07:22