2011-10-06 56 views
1

所以我們有一個共享指針指向共享數組。我們現在有N個線程正在使用該shared_array。一些發電機給了我們新的shared_array。我們希望讓舊線程使用舊的共享數組,並且在所有N個第一個thrads超出範圍時自動釋放它,而我們想要給予新線程,這些線程首次調用由我們的生成器提供的新的shared_array。是否有可能與提高和如何做到這一點?如何將對象共享指針指向其他線程佔用的位置?

回答

4

每個線程可以容納一個指向該數組的本地共享指針。

當他們開始在數組上工作時,他們只是向提供者請求數組。

這樣他們將指向當前活動的數組。他們將保存該數組,直到他們完成,並且該數組將在沒有更多引用時被丟棄。
當提供了一個新數組時,它將在線程再次請求數組時訪問。

1

你所描述的是預期使用「MT-安全」(但不是強大的MT-安全)引用計數的智能指針,像增強的指針。

相關問題