Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
 Аватар для QWIPQ
144 / 123 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2

Функции Win API для работы с процессорами

17.04.2012, 22:06. Показов 3891. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, ток начал изучать API функции есть, интересует в данную минуту распараллеливание потоков по процессорам на n ядерной машине... есть функции:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//устанавливает маску родственности процессора для потоков заданного процесса.
BOOL SetProcessAffinityMask(
 
    HANDLE hProcess,            // дескриптор потока
 
    DWORD dwProcessAffinityMask // номер процессора
);
 
//вроде как устанавливает предпочитаемый процессор для потока
DWORD SetThreadIdealProcessor(
 
    HANDLE hThread,        // дескриптор потока
 
    DWORD dwIdealProcessor // номер идеального процессора
 
);
кто сталкивался с данными функциями может вкрадце объяснить плз как они работают... читал инфу по ним но чет не оч понял... тестил SetProcessAffinityMask(), если например 2 ядра dwIdealProcessor иметь должен 3 значения (0x00000001,0x00000002,0x00000003) на нулевом,первом или обоях ядрах выполняться, но при тесте не сработал режим на обоих, и при эксперименте с вводом 0x00000004 работало вроде как 0-ое ядро...

вопрос: как распараллелить потоки(или программы) на разные ядра процессора?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.04.2012, 22:06
Ответы с готовыми решениями:

Функции WIN API
Здравствуйте. Подскажите пожалуйста где можно посмотреть реализацию некоторых функций в WIN API, например таких как DefWindowProc и...

Простые функции в win api
никак не могу с этим окном разобраться, нигде нет объяснения, максимум готовый код. помогите разобраться, пожалуйста. я попытался...

Функции изображений и текста в win api
Здравствуйте, не могли бы вы назвать функции из Win API, выводящие в окно текст и изображения? И ещё вопрос, есть ли в Win API функции,...

6
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
17.04.2012, 23:16
Цитата Сообщение от QWIPQ Посмотреть сообщение
SetProcessAffinityMask(), если например 2 ядра dwIdealProcessor иметь должен 3 значения
А при чём тут dwIdealProcessor? Не путай SetProcessAffinityMask и SetThreadIdealProcessor.
Цитата Сообщение от QWIPQ Посмотреть сообщение
как распараллелить потоки(или программы) на разные ядра процессора?
В одном SetThreadIdealProcessor 0, в другом SetThreadIdealProcessor 1.
1
 Аватар для QWIPQ
144 / 123 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
17.04.2012, 23:57  [ТС]
Цитата Сообщение от Somebody Посмотреть сообщение
А при чём тут dwIdealProcessor? Не путай SetProcessAffinityMask и SetThreadIdealProcessor.
прошу прощения действительно перепутал у SetProcessAffinityMask менял dwProcessAffinityMask

так в чем существенная разница между SetThreadIdealProcessor и SetProcessAffinityMask расскажи плз
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
18.04.2012, 13:44
RTFM
SetThreadAffinityMask
SetThreadIdealProcessor
SetThreadAffinityMask указывает, на каких процессорах поток может выполняться, dwThreadAffinityMask - битовая маска. На других процессорах поток выполняться не будет. Это скорее для жёсткого ограничения (если, например, прога глючит на двухъядерном процессоре), чем для распараллеливания.
SetThreadIdealProcessor задаёт процессор, на котором лучше всего выполнять этот поток. dwIdealProcessor - просто число, номер процессора. По возможности поток выполняется на этом процессоре, но может и на другом при необходимости.
1
 Аватар для QWIPQ
144 / 123 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
19.04.2012, 23:30  [ТС]
а под линуксом работать будут?
а если под Wine если *.exe файл запустить будут работать?)
0
 Аватар для QWIPQ
144 / 123 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
23.04.2012, 17:06  [ТС]
ответа можно не ждать?
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
23.04.2012, 23:37
В раздел WinAPI юзеры Linux'а, думаю, не слишком часто ходят.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.04.2012, 23:37
Помогаю со студенческими работами здесь

API для работы с настройками системы
Вот линк на топик с проблемой. Подскажите, какие функции WinAPI дадут возможность делать это (ставить хоткеи) автоматически? Или это все...

Библиотека функций API для работы с открытыми документами
Какая библиотека DLL содержит функции API для работы с открытыми документами?

Функции Win Api для отслеживания нажатия клавиши
Мне необходимо вывести скан код нажатой клавиши и количество повторов при удержании клавиши. При помощи каких WinAPi это можно сделать?

API функции для работы с окном
Подскажите, пожалуйста, есть ли API функции в с++, с помощью которых можно закрывать, разворачивать, сворачивать, перемещать и т.п. окно ? ...

Функции Win32 API для работы с процессами
Дайте плиз какую нить инфу по функциям Win32 API для работы с процессами,желательно с примерами;)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru