Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/65: Рейтинг темы: голосов - 65, средняя оценка - 4.97
97 / 11 / 1
Регистрация: 14.03.2017
Сообщений: 196

Максимальное количество потоков

08.04.2020, 14:32. Показов 13441. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу реализовать пул потоков. Я знаю, что максимальное количество потоков в систему определяется с помощью std::thread::hardware_conquerency().
Также я знаю, что создание большего количества потоков, чем допустимого, ведет к понижению производительности.
Включается ли главный поток в число, возвращаемой функцией?
Прямой гуглинг ответа не дал, а при просмотре реализаций пулов потоков почему-то всегда использовалась именно точное число, а не декрементированное.

P.S. Мой проц поддерживает 6 потоков. Правильно ли, что для пула я должен создать 5 потоков?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.04.2020, 14:32
Ответы с готовыми решениями:

Максимальное число потоков
Может кто знает, есть ли в стандартной библиотеке какая-нибудь константа, которая определяет максимальное число одновременно созданных...

Максимальное количество потоков в приложение
Здраствуйте, уважаемые программисты. Хотел бы спросить у вас один вопрос: А какое количество поток максимально разрешено в приложение с...

Каково максимальное количество потоков в программе
Какое максимальное кол-во потоков можно создать в своей программе?

5
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
08.04.2020, 14:42
Цитата Сообщение от Diochrome Посмотреть сообщение
Включается ли главный поток в число, возвращаемой функцией?
Вопрос какой-то неправильный.

Главный поток (нить) программы будет простаивать, поэтому лучше создать 6 воркеров - по числу логических ядер процессора.
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
08.04.2020, 14:47
Цитата Сообщение от Diochrome Посмотреть сообщение
P.S. Мой проц поддерживает 6 потоков. Правильно ли, что для пула я должен создать 5 потоков?
Зависит от того какую задачу ты будешь решать с помощью своего пула.
0
97 / 11 / 1
Регистрация: 14.03.2017
Сообщений: 196
08.04.2020, 14:50  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Главный поток (нить) программы будет простаивать, поэтому лучше создать 6 воркеров - по числу логических ядер процессора.
То есть грубо говоря главный поток стоит и ждет всех? Я просто представлял так, что мы создаем потоки, даем им задачи и дальше выполняем, отсюда и получается 7 поток.

Добавлено через 52 секунды
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Зависит от того какую задачу ты будешь решать с помощью своего пула.
В плане? Какая разница? Ты даешь пулу задачу и если он не занят, он её выполняет.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
08.04.2020, 14:54
Лучший ответ Сообщение было отмечено Diochrome как решение

Решение

Цитата Сообщение от Diochrome Посмотреть сообщение
То есть грубо говоря главный поток стоит и ждет всех?
Для этого есть примитивы синхронизации. Если вам нужно остановить главный поток, то лочите его. Если не залочь гланый поток, то он дойдёт до конца и программа завершится.

Цитата Сообщение от Diochrome Посмотреть сообщение
В плане? Какая разница?
Есть cpu-задачи (числомолотилки), которые и потребляют все вычислительные ресурсы процессора(ов), а есть io-задачи (диск/сеть), которые мало нагружают процессор, и число таких воркеров можно увеличить - они не будут конкурировать за процессорные ресурсы.
1
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
08.04.2020, 15:00
Цитата Сообщение от Diochrome Посмотреть сообщение
Я знаю, что максимальное количество потоков в систему определяется с помощью std::thread::hardware_conquerency().
это - не максимальное количество потоков "в систему"
это - максимальное кол-во потоков, которое может исполняться одновременно.

Цитата Сообщение от Diochrome Посмотреть сообщение
Включается ли главный поток в число, возвращаемой функцией?
ответ на твой вопрос: да. включается.

однако сам вопрос немножко дибильный.

вот какая разница кто там главный, а кто второстипенный?
допустим, твоё железо способно исполнять только два потока парралельно.
без разницы что это за потоки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.04.2020, 15:00
Помогаю со студенческими работами здесь

Как определить максимальное количество потоков под тяжелую задачу
Допустим есть некая тяжелая задача которую нужно выполнить. И мне понадобится определенное количество потоков от 2 до 1024. Как определить...

Максимальное количество используемых потоков при загрузке файла на сайте
Как я понимаю на каждом сайте есть ограничение в количество потоков на загрузку файлов. Так вот как его узнать с помощью php кода? Или как...

Как узнать максимальное количество потоков, которое сможет обработать система
которое сможет обработать система ?

Задача "Подсчитайте максимальное количество сетей класса В и максимальное количество адресов ком. кл. С
Добрый вечер огромная просьба подскажите пожалуйста по задаче. Вроде же и простая но загнала в угол. Завтра в универ сдавать а осталась она...

В одномерном массиве найти максимальное количество четных элементов и максимальное количество нечетных элементов, расположенных рядом
В одномерном массиве найти максимальное количество четных элементов и максимальное количество нечетных элементов, расположенных рядом.


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru