See: Software Transactional Memory.
I personally plan on doing much of the heavyweight processing of my own project (so far including map generation and probably eventually including some pathfinding stuff) in a separate library. Map generation is already multithreaded and pathfinding can also be threaded out in a straightforward manner.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||

The question for me is whether we want to keep everything backwards-compatible, maintaining both tile & pixel systems, or whether it'd be better to just spin this off into a separate system. I'm leaning towards the latter because it's a lot easier (and we're already taking this approach with the Flash project by making those games a limited, specialized subset of BYOND). Really, the roguelike verb/tile model is pretty obsolete for the types of games people are making these days.
As far as a system to generally parallelize BYOND code.. no, that ain't gonna happen. We can and should offload certain existing operations (such as file transfer) to other threads, though. That's a long overdue request.