I have a set of operations that are very expensive but are all pretty much self-contained. Some of them rely on some "global" states or data, but all very much read-only. The operations themselves, I'm fairly certain, can all be done in parallel, but all the operations need to complete before the program progresses past a certain point.
Is it worth it to add the extra work and danger of multithreading here, especially since the main thread will have to block and wait anyway?
The other issues is that this application will most likely have to run on both Windows and Linux and I'm not sure it's worth the complexity of adding code that uses two different threading systems.