GTK + 3线程安全吗?

我有一个有多个线程的应用程序。 一些线程正在使用构build在pthread API之上的库。

通过文档阅读,似乎有一次你必须调用gdk_threads_entergdk_threads_leave

但看着这些文档,整个文档似乎都被弃用了。 现在他们说你需要从主线完成所有的事情。 但是在main_thread进入gtk_main()之后,我应该如何向那个线程发信号,例如刷新一些小部件,比如我从另一个线程中dynamic构build的菜单,这个线程从REST Web服务中拉取菜单项并且长时间运行。 我想我不应该根据文档从其他线程那样做。 尽pipe它有一把锁,但看起来还是有效的。 我偶尔会碰到碰撞,而且我不确定是否因为这个原因。

Gtk ::小部件不是线程安全的。 所以,绝对不要在一个线程里面更新Gtk :: Widget,更新一个定时器函数,这个函数会在一个固定的时间段开始。