对于我正在制作的Gtkmm
应用程序,当选择ListBoxRow
中的一行时,回调需要启动一个while循环,该循环将无限期地运行。假设当特定变量设置为false时,while循环结束。
问题是,我当前的处理程序(当它启动while循环时)完全阻塞了主线程,从而阻塞了与GUI的任何交互。
我认为我可以使用线程来解决此问题(例如,从处理程序中启动一个新线程,并在该线程中启动while循环),但是我预见到了诸如此类的问题:
我认为这一定是一个相当普遍的问题,所以Gtkmm
或其他任何工具是否提供了一种将处理程序作为非阻塞函数运行的方法,或者有这种效果的方法?