|
37 / 36 / 9
Регистрация: 16.04.2015
Сообщений: 283
|
||||||
Как поддерживать многопоточность?15.02.2019, 04:14. Показов 2700. Ответов 25
Метки нет (Все метки)
Есть восьмиядерный процессор, у которого 7 ядер из восьми делают вид, что работают.
А на самом деле нет. Вот создаём 8 нитей вычислений:
Это если нити работают примерно одинаковое время! А если 7 нитей завершили работу за 1 секунду, а одна из нитей работает 1 час, никакой замечательности нетути! Пока 8-я нить не завершит работу, 7 ядер процессора простаивают. ![]() Ребятки, есть ли какие-нибудь идеи, чтобы ядра не простаивали?
0
|
||||||
| 15.02.2019, 04:14 | |
|
Ответы с готовыми решениями:
25
Как поддерживать 2 SQL в одном приложении Как поддерживать постоянную связь локальной БД и БД на сервере? Как можно поддерживать высоту одинаковой для каждого из блоков? |
|
Комп_Оратор)
|
|
| 15.02.2019, 20:15 | |
|
SerVal, позволю себе предположить, что eva2326, имела в виду библиотеку boost.
https://www.boost.org/doc/libs... _pool.html
1
|
|
|
37 / 36 / 9
Регистрация: 16.04.2015
Сообщений: 283
|
||
| 15.02.2019, 20:24 [ТС] | ||
|
Для этого надо вызвать для неё thread.join() или future.get(). А это останавливают основную программу. Другого способа убедиться в завершении нити - нетути. ![]() *проверяется у меня не 8 чисел, а 4-5 миллионов. 8 чисел проверяются параллельно(число ядер процессора).
0
|
||
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
||
| 15.02.2019, 20:36 | ||
|
0
|
||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|
| 15.02.2019, 20:57 | |
|
SerVal, зачем вы вообще напрямую с std::thread работаете? Возьмите библиотеку, где все это сделали за вас. Если используете Visual Studio в которую еще не добавили стандартные алгоритмы, то возьмите PPL от microsoft.
0
|
|
|
37 / 36 / 9
Регистрация: 16.04.2015
Сообщений: 283
|
||||||
| 16.02.2019, 07:52 [ТС] | ||||||
|
valen10, вот тут у вас всё и остановится.
В функции main:
При этом, дать задания освободившимся ядрам Вы не сможете и они будут простаивать. *впрочем, у меня получается ещё хуже. А может, я ничего не понимаю.
0
|
||||||
|
37 / 36 / 9
Регистрация: 16.04.2015
Сообщений: 283
|
|||||||||||
| 18.02.2019, 15:41 [ТС] | |||||||||||
|
В общем, распараллелил на 4, 8, 16.. потоков без простоя освободившихся ядер.
Примерно так: Кликните здесь для просмотра всего текста
Состояние потоков проверяется каждые 50 миллисекунд. Всё ускорилось пропорционально числу ядер. Правда, на компике стало невозможно ничего делать, поскольку все ядра процессора загружены на 100%. ![]()
0
|
|||||||||||
| 18.02.2019, 15:41 | |
|
Поддерживать нажатое состояние кнопки/клавиши. Как это сделать? Как всё время поддерживать соединение андроид приложения с веб-сервером?
Скоро только Windows 10 будет поддерживать новое железо, это как? Как узнать максимальный объем одной планки памяти, которую может поддерживать компьютер? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|