gpt4 book ai didi

c - 如果我们释放线程的指针,线程会发生什么

转载 作者:行者123 更新时间:2023-12-03 12:49:14 25 4
gpt4 key购买 nike

释放保存 pthread_t 的结构对线程本身有什么影响?我有一个代表线程的结构:

typedef struct car{
int cur_place;
pthread_t car_thread;
}car;

我有一个数组来保存这些汽车,一段时间后我想从内部线程中释放该结构,我的意思是:

void * car_thread(void * number){
int num = *(int *)number;
free(maze[num]);
maze[num] = NULL;
pthread_exit(NULL);
}

这可能吗?当我释放持有该线程的 pthread 后,该线程会发生什么?它会运行下一行吗?

提前致谢。

最佳答案

释放car仅释放用于存储这些值的内存。该线程可能仍然在其他地方。将 pthread_t 视为简单地保存系统用来谈论线程的数字或地址。不是线程本身。

只是不要在释放后的任何地方引用car的内存。

关于c - 如果我们释放线程的指针,线程会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20528485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com