У меня есть несколько потоков, добавляющих, изменяющих и ищущих данные в GHashTable. Это потокобезопасно, или мне нужно самому реализовать безопасность потоков?
В документации это довольно ясно сказано:
После вызова g_thread_init() GLib полностью поточнобезопасен (все глобальные данные автоматически блокируются), но отдельные экземпляры структуры данных не блокируются автоматически по соображениям производительности. Так, например, вы должны координировать доступ к одному и тому же GHashTable из нескольких потоков.
g_thread_init()
GHashTable
Итак: нет, хеш-таблица не является поточно-ориентированной.