【发布时间】:2019-09-19 08:37:09
【问题描述】:
我有一个数组指针。
我可以使用互斥锁进行锁定和解锁吗?同时,另一个线程以相同的方式运行并检查matrix[h]。
int **matrix;
matrix =new int[20];
for(int i=0; i<20; i++)
{
matrix[i]= new int[20];
}
#pragma omp parallel for nowait
for(int h=0; h< 20; ++h)
{
if(matrix[h].isfree()==true)
{
lock(matrix[h]);
//do something...
unlock(matrix[h]);
}
else
{
//that array matrix[h] is not free.
skip++;
}
}
【问题讨论】:
-
您必须提供更多关于“做某事”的信息,否则我们实际上无法正确回答问题!
matrix[h].isfree()对于int*也没有任何意义。请创建minimal reproducible example,当前的答案可能会误导您。
标签: c++ multithreading parallel-processing openmp