我遇到了一个需要无限循环的代码,他们使用了
GMainLoop *mainloop = NULL;
mainloop = g_main_loop_new (NULL, FALSE);
g_main_loop_run (mainloop);
我怀疑他们为什么不出于相同目的使用
while(true);
。 GMainLoop内部执行什么操作,不是内部相同。 GMainLoop
如何提高性能。 最佳答案
g_main_loop
表示glib中的主事件循环。这不仅仅是一个无限循环;它轮询事件源,将其来源的事件排队,并调用事件处理程序。它也不是那么忙。也就是说,什么也没发生(除非事件源中断),它不会达到100%的CPU使用率。
the glib documentation中有对此的描述。