pthreads互斥锁:保护结构的成员

时间:2019-06-18 01:31:42

标签: c multithreading pthreads mutex

给出一个保护结构的互斥体,我想保护名为'tasklist'的结构mystruct的成员。在以下情况下使用互斥体是否足够?

代码:

pthread_mutex_lock(&th_mutex);
addNewItem(&mystruct);
pthread_mutex_unlock(&th_mutex);

条件:

  • 列表tasklist的长度为n。
  • 如果要在已满的新项目添加到此列表中,则通过创建大小为2n,3n ...的列表并使用旧列表进行memcpy扩展数组。
  • 这一切都在addNewItem中完成。

我要问的原因是我遇到了一个问题,似乎遍历任务列表上的项目似乎指向一个已经释放的内存块。我不确定这是否是旧列表的地方,但是由于原始问题需要大量尝试才能重现,因此我目前正在进行大量代码检查。

0 个答案:

没有答案