'G_thread_join' удаляет 'данные gpointer'?

Из справочного руководства: "g_thread_join() использует ссылку на переданный поток. Обычно это приводит к освобождению структуры GThread и связанных ресурсов".

Вызывает ли g_thread_join команду delete для данных gpointer, переданных в g_thread_create/g_thread_new? Или руководство просто говорит об освобождении 4 или 8 байтов, которые занимает сам gpointer?

1 ответ

Это дает подсказку:

Это обычно приводит к освобождению структуры GThread и связанных ресурсов.

Из руководства (g_thread_join()):

использование g_thread_ref() чтобы получить дополнительную ссылку, если вы хотите сохранить GThread живым за пределами g_thread_join() вызов.

Это означает, что поток уничтожен, если (и это не объясняет "обычно") вы сохраняете ссылку на него перед вызовом.

Другие вопросы по тегам