我有一個關於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