Pup*_*ppy 6 c++ concurrency c++11
我一直在努力掌握新的Visual Studio本地并发运行时(ConcRT).它只是一个疏忽,还是有一个有效的理由没有数据的跨线程移动有移动语义?它们都是复制语义.您无法进入并发队列,无法使用asend等移动.您甚至无法移动构造并发队列.
我不知道这个特定的框架,但通常对于线程间队列,您必须具有复制语义。
想象一下,我创建一个对象,获取指向它的引用/指针,然后将其移动到队列中。然后另一个线程将其移出队列。然后两个线程就可以同时访问它。
我认为在一般情况下,只需要在添加或删除中保存副本,而不是两者都保存(即只需要一份副本)。例如,拷入移出,但这在语义上与拷入拷出相同。
| 归档时间: |
|
| 查看次数: |
244 次 |
| 最近记录: |