gpt4 book ai didi

c++ - P线程和互斥体;锁定数组的一部分

转载 作者:行者123 更新时间:2023-11-30 04:35:43 26 4
gpt4 key购买 nike

我正在尝试使用 pthreads 并行化操作。该过程类似于:

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 循环的各个部分,但对数组的不同部分起作用。为了避免在处理重叠部分时出现问题,我需要锁定一些内存。

我怎样才能制作一个只锁定数组一部分的互斥量(或其他东西)?

最佳答案

如果您使用最新的 gcc,您可以尝试标准算法的并行版本。参见 the libstdc++ parallel mode .

关于c++ - P线程和互斥体;锁定数组的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5018723/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com