Gtkmm:如何从另一个线程更新UI?一直

Iva*_*iss 4 c++ multithreading signals gtkmm

线程A:运行Gtkmm消息循环的UI线程.

线程B:通过网络接收数据并将其记录到文件中.

现在我希望将相同的数据转储到线程B中的文件中,同时也要在UI上的Gtk :: TextView中显示.最好的方法是什么?

Glib :: Dispatcher不会获取数据.因此,只有通知工作完成才有用.

libSigCX让我伤心.

erg*_*sys 6

我会尝试使用Glib::Dispatcher连同Glib::Threads::Mutex(或同等学历)保护的std::queue<std::string>数据结构.在将每个工作项放入队列后,使用调度程序通知UI线程.