Использую QThreadPool
, делаю setMaxThreadCount(10)
, ошибок нету, все работает, только потоков в тредпуле все равно 4(количество ядер на машине), понять совершенно не могу, почему. Кто сталкивался с таким и как решали проблему?
setMaxThreadCount
устанавливает максимальное кол-во потоков, которые может использовать 'QThreadPool'. 'activeThreadCount' покажет кол-во потоков, которые используются прям сейчас. Создавать сразу много потоков нет смысла. Но если Вы создадите достаточно заданий, может быть 'QThreadPool' и создаст их. Но тут опять же все сложно - если задачи работают с сетью/диском и медленные, то много потоков может быть оправданно. Если же задачи тяжелые (кодирование видео, биткоины, перебор паролей), то кол-во потоков по кол-ву ядер оптимальное. Увеличение кол-ва потоков не даст прироста.
Для дальнейшего понимания, почитайте о законе Амдала.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Добрый день! Прошу помочь разобраться с проблемойПытаюсь настроить отладчик (gdb 8