From Qt help, it is completely unclear what situations may require functionality of the QThreadPool::reserveThread() and QThreadPool::releaseThread() . It is clear that if we reserve a stream, we do not allow the pool to use it. But just as well, you can simply reduce the number of threads available to the pool by using the setMaxThreadCount() method. Both there and there, the reservation of flows is performed without address, that is, without specifying a specific one. Then in what cases reserve/release can be useful?
In the process of using this functionality, a bug was detected . @ixSci has localized the problem. Corresponding to the description of the correction and reassembly Qt. Well, or wait until they fix it officially.