What could be shoved onto a different thread?
There isn't (or doesn't need to be, rather) any causal contingency within a single tick. As in, you as a player have no right to complain, per se, that in one case, the machine on the left fired first within the same tick, and in another instance, the machine on the right fired first within the same tick, or what have you. Or that monster landed a hit first versus dwarf, or that magma flowed or temperature updated first, etc.
Therefore, within one tick, I think it's entirely reasonable to do pathfinding, temperature, flow, combat ALL as separate threads, why not? MOVEMENT might have to be privileged at the end, so as not to walk inside a wall that was completed in the same tick. But that's about it, I think, and movement is going to take up a very small part of the processing time of a tick.
If you pathfind and then in the same tick, a wall finished being built, so what? As long as movement itself is privileged, you'll just get a cancellation and a repath the next tick, that's all.
Edit: Actually now that I think about it, I don't think multithreading would even have to lose your guarantee about which machine fires first, etc. Since you could still APPLY all the changes in a canonical order. All that matters is that temperature doesn't have to rely on the combat outcomes of that same tick, and it doesn't. So they can be calculated on separate threads.