我想让我的窗口事件循环在我的主线程中,而其他所有东西都在一个单独的线程中运行。
循环如下所示:
void loop(sf::RenderWindow& window)
{
//I need the context here
while (window.isOpen())
{
//Do stuff here
}
}
int main()
{
sf::RenderWindow window(...);
std::thread lthread(&loop, std::ref(window));
while (window.isOpen())
{
sf::Event event;
while (window.waitEvent(event))
{
//Handle events
}
}
lthread.join();
}
如何切换上下文的线程?