我想使用pthreads並行化操作。該流程看起來是這樣的:Pthreads和mutexes;鎖定陣列的一部分
double* doSomething(....) {
double* foo;
foo = new double[220];
for(i = 0; i<20; i++)
{
//do something with the elements in foo located between 10*i and 10*(i+2)
}
return foo;
}
的東西for循環中發生了可以按任何順序來完成,所以我想這個組織使用線程。例如,我可以使用多個線程,以便每個線程遍歷for循環的一部分,但是可以在數組的不同部分工作。爲了避免在重疊部分上工作時出現問題,我需要鎖定一些內存。
我該如何製作一個只鎖定數組一部分的互斥體(或別的東西)?
使用`std :: vector`。 –
GManNickG
2011-02-16 19:24:02