Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
3 / 3 / 1
Регистрация: 27.05.2013
Сообщений: 87

Запуск потоков из цикла

24.03.2016, 18:23. Показов 4147. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Пытаюсь реализовать много поточное движение неких объектов.

В классе объекта:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
    @Override
    public void run() {
        
        while(true){
            try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            
            move();
        }
    }
Потом создаю коллекцию этих объектов и пытаюсь через цикл запустить каждый поток:
Java
1
2
3
        for(int i = 0; i < redBalls.size(); i++){
            redBalls.get(i).run();
        }
В итоге запускается только первый объект из коллекции, а другие нет.
Видимо цикл ждет когда завершится поток (выйдет из run() ), но у меня там бесконечный цикл.
Как мне запустить все потоки чтобы они одновременно выполнялись?

Сама программа не зависает и реагирует на события из формы.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.03.2016, 18:23
Ответы с готовыми решениями:

Запуск нескольких потоков одновременно
Здравствуйте. Подскажите пожалуйста как запустить несколько потоков в такой ситуации. Есть некий путь к папке, необходимо по этому пути...

Запуск нескольких потоков одновременно
Здравствуйте. У меня есть стэк объектов, с которыми нужно произвести какие-то действия. Причем работать нужно в трех потоках. То...

Запуск нескольких потоков Java
Всем доброго времени суток! Наверное все знакомы с задачей Producer - Consumer. Если нет то вот суть: Есть один producer который...

1
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
24.03.2016, 19:52
если этот класс наследник Thread то не run(), а start()
если это Runnable то его надо передавать на выполнение какому-нибудь executor-у или треду и вызывать start()
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.03.2016, 19:52
Помогаю со студенческими работами здесь

Запуск кодов в потоках и завершение потоков
Построить класс Letters, которая будет использоваться для запуска кодов, выписывая каждую секунду буквы, приведенные в надписи,...

Замедление работы потоков если запущено несколько потоков
Есть отдельный поток который движет красным квадратом. Он каждую миллисекунду меняет положение квадрата на пиксель. Есть другой поток, он...

Запуск потоков в цикле: не срабатывает условие выполнения цикла
есть метод, запускающий выполнение каждой итерации в отдельном потоке: private void ThreadSend(String text) { ...

Обработка цикла в несколько потоков
Сначала попробую описать что мне нужно сделать: Есть список ссылок. Нужно в несколько потоков(допустим 5) отсылать данные пост...

Запуск потоков
На Qt не смотрите, ошибка в _beginthreadex namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
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. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru