This looks like it's going to be tricky. I think OS X and Linux support pthreads, but Windows is a different beast.
I think we should keep this platform specific logic outside of the individual puzzle implementations, and instead give Puzzles a thread safe initialize method for initing pruning tables and whatnot.
Or for now we could require that Puzzles do all their initialization at library load time.
This looks like it's going to be tricky. I think OS X and Linux support pthreads, but Windows is a different beast.
I think we should keep this platform specific logic outside of the individual puzzle implementations, and instead give
Puzzle
s a thread safeinitialize
method for initing pruning tables and whatnot.Or for now we could require that
Puzzle
s do all their initialization at library load time.