I agree with Fleeting Frames, although King Mir is correct in that DF is very far from s a perfect candidate for parallelization. Since everything has to synchronize at the end of a tick, you can run things in parallel DURING the tick and consolidate the results at synchronization points during the tick. Different methods can be used for different sub problems.
One example is pathing, where you can have separate threads calculate paths for creatures. At a synchronization point you then validate the paths (to ensure they paths calculated are still valid) and recalculate the ones that are not. Validating a path is a reasonably cheap operation compared to calculating the path in the first place, so there's a potential for a gain here, but there's overhead in organizing the farming out of the path calculation, in addition to the rather substantial effort of ensuring the data used for path calculations is stored in a thread safe manner that doesn't slow down things more than you gain.
I'd worry more about the huge volume of work and how to reorganize things such that bugs introduced by unanticipated consequences of parallelism can be identified than the very substantial work of the parallelization itself. In particular I'd worry about the several years of (part time) preparation work where data stores are secured for parallel access and DF gets SLOWER as a consequence.
Parallelism is by no means a free lunch. There's a lot of organizational overhead introduced, so I wouldn't be surprised if the total number of CPU cycles of DF parallelized would be 2 or 3 times the single threaded version. The speed gain would come from spreading the X times as many cycles over (many) more than X cores. All of this is dependent on the CPU being the bottleneck and not memory bandwidth, though. If memory is the bottleneck, the additional administration of threading might actually result in a loss.
Thus, before threading is introduced somewhere, you should try to determine that it will actually result in a net speed gain (of course, one way to determine it is to hack it in crudely, see if it seems to work, and roll back if it doesn't, and do it properly if it does, possibly rolling back in that case as well, if the hack is ugly enough).