如果释放它的指针,线程会发生什么

安东

释放保存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在释放后引用任何地方的内存。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果ThreadPool线程死亡,会发生什么?

来自分类Dev

如果ThreadPool线程死亡,会发生什么?

来自分类Dev

如果线程试图获取它已经持有的锁,会发生什么?

来自分类Dev

如果线程在关键部分内死掉会发生什么?

来自分类Dev

如果Python线程在获取锁后死亡,会发生什么?

来自分类Dev

如果线程本身调用join()会发生什么

来自分类Dev

如果我在无限循环中启动线程会发生什么?

来自分类Dev

如果线程本身调用join()会发生什么

来自分类Dev

当2个指针指向同一区域并且其中1个指针被释放时会发生什么?

来自分类Dev

删除之前指向它的指针后,对象会发生什么?

来自分类Dev

这个结构指针会发生什么?

来自分类Dev

删除后指针本身会发生什么?

来自分类Dev

当指针太大时会发生什么?

来自分类Dev

如果我以比指针实际容量小的容量调用Vec :: from_raw_parts会发生什么?

来自分类Dev

如果线程在同步块内引发异常会发生什么

来自分类Dev

如果线程执行的函子被移动,会发生什么情况?

来自分类Dev

如果不再引用该对象,那么扩展Thread的“对象的线程”会发生什么?

来自分类Dev

以线程安全的方式从DLL写入文件-但是,如果许多程序使用此DLL会发生什么?

来自分类Dev

如果线程处于临界区或进入临界区会发生什么?

来自分类Dev

调用通知的线程会发生什么

来自分类Dev

返回线程的run()后会发生什么?

来自分类Dev

如果我在c ++中将(指向类A的指针)转换为(指向其子类B的指针)会发生什么

来自分类Dev

如果未设置枚举,会发生什么?

来自分类Dev

如果 QTimer 不停止会发生什么

来自分类Dev

如果我安装 Wayland 会发生什么?

来自分类Dev

在RTOS中释放或发出信号时会发生什么?

来自分类Dev

如果我不使用CSharpCodeProvider指定CompilerVersion,会发生什么,为什么大多数示例都指定它?

来自分类Dev

如果我不使用CSharpCodeProvider指定CompilerVersion,会发生什么,为什么大多数示例都指定它?

来自分类Dev

如果我将一个右值分配给一个类的指针成员会发生什么?

Related 相关文章

  1. 1

    如果ThreadPool线程死亡,会发生什么?

  2. 2

    如果ThreadPool线程死亡,会发生什么?

  3. 3

    如果线程试图获取它已经持有的锁,会发生什么?

  4. 4

    如果线程在关键部分内死掉会发生什么?

  5. 5

    如果Python线程在获取锁后死亡,会发生什么?

  6. 6

    如果线程本身调用join()会发生什么

  7. 7

    如果我在无限循环中启动线程会发生什么?

  8. 8

    如果线程本身调用join()会发生什么

  9. 9

    当2个指针指向同一区域并且其中1个指针被释放时会发生什么?

  10. 10

    删除之前指向它的指针后,对象会发生什么?

  11. 11

    这个结构指针会发生什么?

  12. 12

    删除后指针本身会发生什么?

  13. 13

    当指针太大时会发生什么?

  14. 14

    如果我以比指针实际容量小的容量调用Vec :: from_raw_parts会发生什么?

  15. 15

    如果线程在同步块内引发异常会发生什么

  16. 16

    如果线程执行的函子被移动,会发生什么情况?

  17. 17

    如果不再引用该对象,那么扩展Thread的“对象的线程”会发生什么?

  18. 18

    以线程安全的方式从DLL写入文件-但是,如果许多程序使用此DLL会发生什么?

  19. 19

    如果线程处于临界区或进入临界区会发生什么?

  20. 20

    调用通知的线程会发生什么

  21. 21

    返回线程的run()后会发生什么?

  22. 22

    如果我在c ++中将(指向类A的指针)转换为(指向其子类B的指针)会发生什么

  23. 23

    如果未设置枚举,会发生什么?

  24. 24

    如果 QTimer 不停止会发生什么

  25. 25

    如果我安装 Wayland 会发生什么?

  26. 26

    在RTOS中释放或发出信号时会发生什么?

  27. 27

    如果我不使用CSharpCodeProvider指定CompilerVersion,会发生什么,为什么大多数示例都指定它?

  28. 28

    如果我不使用CSharpCodeProvider指定CompilerVersion,会发生什么,为什么大多数示例都指定它?

  29. 29

    如果我将一个右值分配给一个类的指针成员会发生什么?

热门标签

归档