我有一个关于 pthread 的问题,当我使用 malloc 在线程内创建一个变量然后将其指针传递给一个共享结构(即 fifo)时,thread-1 传递的指针是否会被 thread2 访问?
请注意,我必须为上面的问题编写代码,我只是想更好地理解线程,下面就是我的想法。环境是pthread , c和linux
据我所知,线程正在共享其父进程的内存,如果是这种情况,下面应该是正确的。
void *thread-1(void *pointer)
{
int *intp = malloc(4);
send_to_fifo(intp);
}
void *thread-2(void *pointer)
{
int *iptr;
iptr = read_from_fifo();
do_something(iptr);
free(iptr);
}