нить используя 100% ядра - PullRequest
2 голосов
/ 22 февраля 2011

Есть ли способ использовать несколько ядер для одного потока? В настоящее время я использую Qt на Ubuntu с i7

Ответы [ 4 ]

8 голосов
/ 22 февраля 2011

номер

Вы можете запустить один поток на ядро. Вы можете запустить много потоков на одном ядре с помощью разделения времени. Но вы не можете запустить один поток на двух ядрах. (Не одновременно, но может переключаться между ядрами).

4 голосов
/ 22 февраля 2011

Нет.Поток может одновременно работать только на одном ядре процессора.

4 голосов
/ 22 февраля 2011

Нет, нет. Если вы хотите использовать более одного ядра, разбейте свою работу на несколько потоков или процессов.

Добро пожаловать в мир многопоточного программирования. Подождите, пока у нас не будет 16 ядер, потом 32, потом ...

3 голосов
/ 22 февраля 2011

По определению, поток может занимать только одно ядро ​​за раз. Подумайте о нити, похожей на «атом» обработки.

Если вы хотите распределить обработку по нескольким ядрам, попробуйте разделить вашу задачу на более мелкие куски и назначить поток для каждого из них. Однако не сходите с ума - наверняка есть немного накладных расходов на создание каждого из них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...