I replaced my complex processCase() function with a few simple lines that stress the CPU and it turns out the threading through QtConcurrent works as expected. The started threads execute at 100% on different cores. So it turns out the error was indeed a mutex somewhere deep down that all threads tried to lock and so they could run only one at a time. This is embarassing, but thanks for the help!
Bookmarks