Russian Qt Forum

Qt => Общие вопросы => Тема начата: Ritor от Август 21, 2009, 14:29



Название: Как закрепить ядро процессора за потоком?
Отправлено: Ritor от Август 21, 2009, 14:29
Добрый день всем!

Не знаю почему нет темы посвященной многопотоковости, поэтому задаю этот вопрос здесь.

Есть потребность на многоядерных системах закреплять за определенными потоками определенные ядра, как это делается через SetThreadAffinityMask в MS VC++.
Перерыл всю сеть и помощь, но что-то ничего дельного не нашел.
Может быть кто знает куда мне копать?



Название: Re: Как закрепить ядро процессора за потоком?
Отправлено: vaprele07 от Август 21, 2009, 15:20
задается через sched_setaffinity (OpenMP)
Еще есть книжка "Параллельное и распределенное программирование с использованием с++"


Название: Re: Как закрепить ядро процессора за потоком?
Отправлено: Ritor от Август 21, 2009, 16:49
Спасибо за наводку!

Но эта функция для Linux'а, а меня интересует именно функция QT.
Потому что если ее использовать, то возникнет геморой при компиляции под Win и под Linux... А его хотелось бы избежать.


Название: Re: Как закрепить ядро процессора за потоком?
Отправлено: Rcus от Август 21, 2009, 17:05
Qt не Java, при разработке сложного продукта придется так или иначе прибегать к помощи нативных средств. Если страшно то можно изолировать различия в разных исходных файлах и управлять ими через систему сборки, если не страшно, то можно и макросами :).