我有一个关于Boost::Thread
和Mutex
的新手问题。如何使用boost :: thread mutex来同步写入权限?
我想先从以下Worker
的许多平行的情况下,和所有的人都写入同std::vector
:
struct Worker {
std::vector<double>* vec;
Worker(std::vector<double>* v) : vec(v) {}
void operator() {
// do some long computation and then add results to *vec, e.g.
for(std::size_t i = 0; i < vec->size(); ++i) {
(*vec)[i] += some_value;
}
}
};
据我所知,劳动者有锁定vec
之前写它和解锁它完成后(因为所有工作人员都写入同一个向量)。但我怎么表达呢?
您是不是指'vec_mutex'而不是'io_mutex'? – Frank 2010-09-18 15:18:22
是的,现在修好了。 – nos 2010-09-18 15:41:58