指针线程安全

时间:2018-04-10 05:51:38

标签: pointers thread-safety

我有2个任务可能同时调用以下函数(fun1)。这个胎面安全吗?我们还需要在fun1中添加锁吗?

char * my_malloc(int size)
{
   char *p;
   sem_lock(&l1); //locking
   p= malloc(size);
   sem_unlock(&l1);  //unlocking
   return p;
}

char * fun1(int size)
{
  char *ptr; 
  ptr = my_malloc(size);
  return ptr;
}

1 个答案:

答案 0 :(得分:0)

只要他们使用相同的信号量,它应该没问题。

为了清楚起见,我会将锁定代码放在fun1fun2中(但它是个人的)。