There are certain things that happen in another thread, like http downloads, and a few other requests that are blocking. Multithreading the simulation itself would be difficult. It would probably be possible to multithread some parts of elements' update functions, the main issue with multithreading is that threading the movement would be very difficult to impossible. Any previous implementations of multithreading had serious and noticeable issues with movement.
The main thing I'd focus on first is the rendering though. That is already separate from the simulation, it would just need to be separated a bit more (use a simulation map from the previous frame to render from). If we did this, fire or fancy graphics mode wouldn't hold back the simulation anymore, causing the game to speed up.