'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()
вызов.
Это означает, что поток уничтожен, если (и это не объясняет "обычно") вы сохраняете ссылку на него перед вызовом.