我有一个二维数组和 8 个写入数组的并发线程。如果每个线程读取/写入不同的数组,是否会导致段错误?
例如:
char **buffer;
//each thread has its own thread ID
void set(short ID, short elem, char var)
{
buffer[ID][elem] = var;
}
这样可以吗?我知道这是伪代码,但你明白了。
最佳答案
如果每个线程写入不同的子数组,您的代码的这方面就没问题,您将不需要锁定。
关于c 线程和资源锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15666322/