Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Как закрепить ядро процессора за потоком?

Автор: Ritor 21.8.2009, 14:37

Добрый день всем!

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

Автор: Litkevich Yuriy 21.8.2009, 15:29

не встречал такого в Асистенте.

Автор: ecspertiza 21.8.2009, 15:56

Цитата
не встречал такого в Асистенте.


Навряд ли встретишь - это параллельное программирование.

Смотри в сторону OpenMP, там вроде есть какое то расширении для gcc а вообще ты взялся за серьезную тему, вот смотри тут http://www.google.ru/search?hl=ru&source=hp&q=параллельное+программирование&btnG=Поиск+в+Google&lr=&aq=0&oq=параллельное+

Автор: Ritor 21.8.2009, 16:49

Цитата(ecspertiza @ 21.8.2009, 16:56) *
Смотри в сторону OpenMP, там вроде есть какое то расширении для gcc а вообще ты взялся за серьезную тему, вот смотри тут http://www.google.ru/search?hl=ru&source=hp&q=параллельное+программирование&btnG=Поиск+в+Google&lr=&aq=0&oq=параллельное+


Спасибо за ответ.

Я знаю что тема серьезная :) а с многопоточностью я уже довольно давно дружу.
Просто сейчас переходм на QT вот вопросы и возникают.

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

Автор: ecspertiza 21.8.2009, 19:50

Боюсь не избежишь:) ибо в Qt таких функций нету, смотри в сторону компилятора я думаю это на его уровне должно решаться или если знаешь функции под другие ос то работай с макросами.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)