Автор: 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 таких функций нету, смотри в сторону компилятора я думаю это на его уровне должно решаться или если знаешь функции под другие ос то работай с макросами.