-
Cross validation and comparison splits
-
Don't wait for threads to finish in br::context::finalize, this will typically be called from a thread-pool thread, so this is a self-blocking wait. Create the mutex in br::context::messageHandler in recursive mode, this allows qDebugs inside the message handler to work.
-
Updated threading for stream, updated waiting for parallel work to finish
-
Release a thread from the global thread pool whenever we wait for a parallel job to finish. This means we don't waste one of the global thread pool's threads, and can maintain full CPU utilization.