2013-08-22 37 views
3

boost :: asio庫提供了一個有趣的同步模型,它使用「股」來序列化訪問通常需要鎖的資源。這通過將每個鎖定操作基本轉變爲入隊來增加並行性。boost :: asio:「strand」類型的同步原語是否有任何名稱?

搜索「股」只會產生關於asio的相關結果,儘管它們看起來像是一個非常有用的多線程原語。是否還有其他一些我失蹤的術語?

鏈接到ASIO鏈文檔:http://www.boost.org/doc/libs/1_54_0/doc/html/boost_asio/reference/io_service__strand.html

回答

1

我不知道供構建一個正式的名字。

基於Boost.Asio(N2175 - Networking Library Proposal for TR2)的提案記錄了strand類,但未引用任何相關材料。此外,英特爾編譯器文檔在其執行模型中對strand進行了幾處引用,將其定義爲「任何不具有任何並行控制結構的指令序列」。

0

我已經開始在iOS和Mac OS X域中進行一些編程,他們有一個類似的概念,稱爲serial dispatch queue,從Grand Central Dispatch。這些任務按照它們添加到隊列中的順序執行,就像一條線一樣。同樣,執行任務的線程沒有被定義,就像在多線程調用io_service::run()時一樣。

相關問題