GTK+ でいくつかのことを管理するためにスレッドを使用しようとしていますが、新しいスレッドで GUI 関数を使用しようとするとすぐに GUI がロックされ、GTK+ はスレッドセーフではないため、これは理にかなっています。とにかくこのあたりはありますか?
これが私のコードです:
int main(int argc, char *argv[])
{
GError *error = NULL;
/* init threads */
g_thread_init(NULL);
gdk_threads_init();
/* init gtk */
gtk_init(&argc, &argv);
....
//Multithreaded functions
g_thread_create(argument_thread, (gpointer)label7, FALSE, &error );
gdk_threads_enter();
gtk_main();
gdk_threads_leave();
return 0;
}
void *argument_thread(void *args)
{
while(1)
{
gdk_threads_enter();
gtk_entry_set_text(entry2,"random stuff");
gdk_threads_leave();
}
}