Я пишу переносимый код для многоядерных машин и хочу потоки уровня ядра, чтобы потоки могли использовать более одного процессора.После прочтения документации QThread в Qt Assistant я до сих пор не нашел никаких подсказок.
В Windows XP в примере многопоточности (mandelbrot) из QtSDK использовалось только одно ядро.Так что я думаю, что на XP возможны только темы пользовательского уровня.Я не проверял это на Linux или OSX до сих пор, так как не установлен полный SDK.РЕДАКТИРОВАТЬ: пример, приведенный в SDK, является глупым - он использует только один поток для этих расчетов, поэтому привязка только к одному ядру вводит в заблуждение.Собрать пример самостоятельно Я мог бы использовать все ядра, поэтому в XP с mingw / GCC Qt использует потоки уровня ядра.
Итак, какие потоки используются в QThread?Можно ли указать, какой тип потока использовать?
Можно также использовать несколько процессов в сочетании с общей памятью.
Редактировать
http://doc.qt.io/qt-4.8/thread-basics.html дает хорошее представление.