v0.4.0: Revert back to threading
Multiprocessing is hard. Especially when you include Windows in the mix.
But this was a good exercise. It showed me how messed up my code is.
Notes to future self:
- The reason i've abandoned the path of trying to migrate to
multiprocessing is because of the "spawn" method. It can be enabled on
linux by using set_method("spawn"), and is the default method for
MacOS, and the only method in Windows.
- Also, doing multiprocessing the right way is hard. See -
https://docs.python.org/3/library/multiprocessing.html#programming-guidelines
- If you ever pursue "spawn" in the future, keep these in mind -
https://docs.python.org/3/library/multiprocessing.html#the-spawn-and-forkserver-start-methods