|
20 / 20 / 3
Регистрация: 07.02.2014
Сообщений: 233
|
|
Обработка массива в несколько потоков11.04.2014, 14:03. Показов 15185. Ответов 22
Метки нет (Все метки)
Есть массив ArrayList. Нужно над каждым его элементом провести какие-нибудь действия (например вычислить среднее значение текущего элемента и его соседей, записывая результат в позицию среднего элемента). Эти действия нужно выполнять над всем массивом заданное число раз. Как с помощью потоков ускорить обработку?
0
|
|
| 11.04.2014, 14:03 | |
|
Ответы с готовыми решениями:
22
Обработка очереди в несколько потоков Замедление работы потоков если запущено несколько потоков Обработка данных в несколько потоков |
|
|
|
| 14.04.2014, 13:13 | |
|
x_Alex_x, скорее всего проблема в CopyOnWriteArrayList - там внутри лок при изменении массива.
У вас же каждый поток обрабатывает только свою часть данных (без пересечений). Замените CopyOnWriteArrayList на обычный массив.
1
|
|
|
20 / 20 / 3
Регистрация: 07.02.2014
Сообщений: 233
|
|
| 14.04.2014, 16:29 [ТС] | |
|
turbanoff, точно! Поменял на ArrayList и всё заработало как надо
Я даже удивился разнице в скорости - миллиард операций за 11.5 секунд)
0
|
|
|
20 / 20 / 3
Регистрация: 07.02.2014
Сообщений: 233
|
||||||
| 22.04.2014, 02:16 [ТС] | ||||||
|
Совершенно случайно наткнулся на замечательный способ, который позволяет запускать выполнение заданного блока кода в новом потоке, и при этом не нужно создавать никаких своих специальных Runnable классов.
0
|
||||||
| 22.04.2014, 02:16 | |
|
Помогаю со студенческими работами здесь
23
Обработка цикла в несколько потоков Обработка элементов в несколько потоков: ThreadPool или еще варианты? Сортировка массива используя несколько потоков Сортировка массива методом пузырька в несколько потоков Несколько потоков Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|