No post StackOverflow (foi recomendado que eu mova isso):
Então, estou trabalhando em um mecanismo de jogo e fiz um bom progresso. No entanto, meu mecanismo é de thread único, e as vantagens de dividir a atualização e a renderização em threads separados são uma ótima idéia.
Como devo fazer isso? Mecanismos de jogo de thread único são (conceitualmente) muito fáceis de criar, você tem um loop em que atualiza -> render -> sleep -> repeat. No entanto, não consigo pensar em uma boa maneira de separar a atualização e a renderização, especialmente se eu alterar as taxas de atualização (digamos, eu percorro o loop de atualização 25x por segundo e tenho 60fps para renderizar) - e se eu começar a atualizar no meio do caminho através de um loop de renderização, ou vice-versa?