关于循环的 C++ Boost 问题。
因此,我一直在尽可能多地查看信息,但仍然没有看到任何关于我正在尝试做的事情或其工作原理的示例。
几年来,我一直在业余时间用 C++ 设计游戏。我得到了用于游戏逻辑的核心引擎,以及一个粗略的输入系统,并使用 OpenGL 和 AL 进行输出。我想要做的是弄清楚如何让我的引擎启动,然后在单独的线程中运行我的输入系统、图形引擎和声音系统。并同时运行。下一步是同步我的线程,但我无法让线程一起运行。
boost::thread gTrd(boost::bind(&game::runGraphics, this));
gTrd.join();
boost::thread sTrd(boost::bind(&game::runSound, this));
sTrd.join();
boost::thread iTrd(boost::bind(&game::runInput, this));
iTrd.join();
boost::thread cTrd(boost::bind(&game::runCore, this));
cTrd.join();
这就是我到目前为止所得到的。据我所知,问题是 gTrd 中的图形引擎有一个无限循环,假设会一直运行到程序终止,所以我启动了空白屏幕,但它从不启动 strd。
究竟需要什么才能运行我的线程,这些线程理论上是无限线程?此外,在内存泄漏方面我需要注意的任何潜在问题都非常棒。