使用gtk_main_iteration时是否从主线程调用了GTK回调?

时间:2015-05-30 22:27:53

标签: c++ callback thread-safety gtk

通常在使用GTK3回调和gtk_main()函数时,预计回调可能在程序主线程的单独线程中运行,因此需要采取线程安全措施来确保回调是线程安全的。

但是,如果你的主线程使用gtk_main_iteration手动处理gtk主事件怎么办?

// Some processing here
while (gtk_events_pending()) {
    gtk_main_iteration();
}
// More processing here

在这种情况下,回调是否仍在单独的线程中运行?或者他们是从主线程发起的?

我的程序有很多工作,如果事实证明在此设置中从主线程调用回调,它将为我节省相当多的线程安全工作。

注意:我正在使用GTK3,但我相信这适用于GTK2和GTK3

0 个答案:

没有答案