Если у меня есть 2 ядра в моем процессоре, и я хочу запустить 4 потока. Можно ли запустить 2 потока на 1-ом ядре и еще 2 потока на 2-ом ядре (с использованием C++ 11 без повышения, os Linux). Или os сделает это для меня? Спасибо.C++ запускает потоки на разных ядрах
ответ
В стандартном C++ нет возможности выбирать процессорные ядра, и в общем случае нет необходимости делать это. ОС будет выбирать ядра для ваших потоков.
Имейте в виду, что вы не можете даже полагаться на количество постоянных сердечников. Ноутбук или мобильный телефон могут включать и выключать ядра по требованию. Что делать, если вы выбрали ядра?
Однако в Linux существует [sched_setaffinity (2)] (http://man7.org/linux/man-pages/man2/sched_setaffinity.2.html) –
On Windows есть [SetThreadAffinityMask] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms686247 (v = vs.85) .aspx) – rcgldr
- 1. Выполнение процессов на разных ядрах
- 2. Как я могу создавать потоки на разных ядрах процессора?
- 3. Как обеспечить, чтобы мои потоки выполнялись на разных ядрах?
- 4. Методы работы на разных ядрах на python
- 5. Как разделить длинные задачи на разных ядрах?
- 6. Несколько экземпляров node.js на разных ядрах
- 7. OpenJDK JVM не назначает потоки на нескольких ядрах
- 8. CUDA не запускает потоки?
- 9. Как я могу убедиться, что мои потоки/процессы запущены на разных ядрах
- 10. Может ли ядро записывать потоки уровня пользователя одного и того же процесса на разных ядрах?
- 11. MySQL/MariaDB запускает один запрос на нескольких ядрах
- 12. Как программировать, чтобы разные процессы выполнялись на разных ядрах процессора?
- 13. Node.js child_process.fork() для запуска на разных ядрах процессора
- 14. Как сила 32 обрабатывается на 32 разных ядрах?
- 15. Как найти Spark RDD, созданный в разных ядрах компьютера
- 16. Различные потоки на разных многопроцессорных устройствах
- 17. asyncore callbacks запускает потоки ... нормально делать?
- 18. Ли поток пользовательского уровня linux (pthread) работает на нескольких ядрах?
- 19. Как синхронизировать потоки разных частот
- 20. SQL-база данных запускает потоки безопасности?
- 21. OpenMP запускает потоки, но продолжает main
- 22. На каких ядрах процессора работают мои процессы Python?
- 23. Как выполнить программу java на нескольких ядрах?
- 24. Python и потоки с PyPy?
- 25. Многопоточная программа (процесс) на многоядерных процессорах (ядрах) с гиперпотоком
- 26. RcppArmadillo на нескольких ядрах процессора
- 27. Пакетная обработка на нескольких ядрах
- 28. CPUID на нескольких ядрах/NUMA
- 29. Разделить функцию c на потоки
- 30. Распространение заданий на многих ядрах [MATLAB]
Планировщик ОС позаботится об этом. Насколько я знаю, все, что вы можете сделать, это ограничить использование процессоров. Более того, одни и те же потоки могут работать в разных процессорах. –
Да, вы можете использовать более одного потока на одном ядре. Операционная система может выбрать время планирования на основе своей политики –