To help out with my debugging my engine I added the ability to be able to run in single threaded mode as well as multi threaded. This allows me to easily look at a bug and figure out if it's being caused by multi-threading or not. The good part is that it was pretty much free to set up. After all if things work well running at the same time odds are they're going to run fine running in series. As an added feature I allowed this decision to be made at run-time. On the game initialization you just decide to run single or multi-threaded. This could solve the problem of being able to target multiple cores/CPUs without having a bunch of threads running on single core machines.