【发布时间】:2013-05-11 08:01:15
【问题描述】:
我有 2 个整数向量。有时,我想交换两者(原因如下)。我正在考虑的两个选项是使用交换函数或交换指针。我看到交换以恒定的时间运行,并且似乎是更清洁的方法。
有关交换的更多详细信息:我有多个线程访问第一个向量。有时我想对向量进行一些长时间运行的计算。我仍然想从其他线程收集数据,所以我会换一个不同的线程,以便其他线程可以在这段时间内继续运行
【问题讨论】:
-
只要意识到
vector是一个复杂的对象,即使是原子交换(swap函数不是原子的)也不足以同步以使其可供多个线程使用。跨度> -
我打算使用锁来保护它免受同步问题的影响。看起来swap是在恒定时间内运行的,想知道它是否足够好用