2015-03-25 60 views
-4

某些函数将指针指向struct作为参数,例如,以pthread_create为例,第四个参数是指向您希望线程使用的数据的指针,但是如果我在线程函数使用之前删除了该结构数据? 我应该保留数据删除,直到线程函数使用它或删除它没有任何考虑?将指针传递给struct作为参数

回答

0

您将需要保持结构“活着”在它使用的时间。如果您在访问结构之前删除了该结构,那么在访问该结构时它是未定义的行为,因为该内存地址上可能存在一些完全不同的数据。

对于在pthread_create(),你可以在这里看到一个例子:http://man7.org/linux/man-pages/man3/pthread_create.3.html

在那个例子中,你可以看到,他们呼吁create_thread和自由加入它的线程前后分配TINFO。