If I was engineering a single-threaded game, I'd keep the handler as simple as possible, or use a write with no handler and just rely on Future's isDone check once a frame.
What is a "Future's isDone check? Is it mandatory to create a thread object that can save the game state?
isDone is a method of the Future interface.
No, nothing is mandatory.