
That being said, there are parts which might benefit greatly from running on their own thread. Saving and loading already happens on its own thread iirc. Another part which might benefit from its own thread is the user interface.
Granted, putting the UI on its own thread might be a lot of work, but at least the UI isn't critical to the game state. Only when the user actually changes something, there would be a need of some sort of synchronizing mechanism (locks, message passing, canary values). Glitches, or lagging behind (preferably not too much, though) are acceptable in the UI, as long as the game state remains consistent.
This is, imho, much less difficult to implement then putting AIs on their own thread. Low-end systems will benefit from this too as the game itself and the UI run independent from each other if this gets done. As a result users of low end systems will be able to play on the bigger maps, without being troubled by an unusable openttd.