Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 12.02.2018
Сообщений: 157

Многопточность и очередь пример

14.01.2020, 21:37. Показов 510. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Хотел разобрать пример, что бы лучше понять как работает многопоточность с очередями и немного переделал его в идее, но помоему получилось как то криво, и неграмотно, так вообще пишут как я это сделал? Я тут обращаюсь напрямую к переменным, просто я больше незнал как задействовать две нити на одну очередь. Пожалуйста поправьте если что
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Stream1 extends Thread {
 
 
    @Override
    public void run() {
        try {
            int cnt = 0;
 
            for (int i = 0; i < QueueTest.arr.length; i++) {
                QueueTest.drop.put(QueueTest.arr[i]);
                if (++cnt < 3) {
                    Thread.sleep(2000);
                }
            }
            QueueTest.drop.put(QueueTest.DONE);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
 
    }
 
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Stream2 extends Thread {
 
 
    @Override
    public void run() {
 
        try {
            String msg = null;
 
            while (!((msg = QueueTest.drop.take()).equals(QueueTest.DONE))) {
                System.out.println(msg);
            }
        } catch (InterruptedException e) {
            System.err.println(e.getMessage());
        }
    }
 
}
Java
1
2
3
4
5
6
7
public class QueueTest {
    static String DONE = "DONE";
 
    static BlockingQueue<String> drop = new ArrayBlockingQueue<>(1, true);
    static String[] arr = {"1", "2", "3", "4"};
 
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Main {
 
 
    public static void main(String[] args) {
 
        new Stream1().start();
        new Stream2().start();
 
 
    }
 
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.01.2020, 21:37
Ответы с готовыми решениями:

Нужна программа пример алгоритма очередь.
Нужна программа пример алгоритма очередь. Очень нудно заранее спасибо. Добавлено через 22 минуты Нужна программа пример алгоритма...

Сформировать односвязную очередь из элементов, которые входят в очередь Q1, но не входят в очередь Q2
Составить программу обработки динамической структуры данных: сформировать односвязную очередь Q из элементов, которые входят в очередь Q1,...

Очередь (сделать очередь, чтобы добавляло, удаляло, читало. Не STL.)
Помогите пожалуйста написать очередь. Есть Температура double и ее тип int ну и нужно сделать очередь, чтобы добавляло, удаляло, читало....

2
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
14.01.2020, 22:07
Цитата Сообщение от 3vik Посмотреть сообщение
так вообще пишут как я
Нет.
0
0 / 0 / 1
Регистрация: 12.02.2018
Сообщений: 157
14.01.2020, 22:45  [ТС]
korvin_, подскажите плз что не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.01.2020, 22:45
Помогаю со студенческими работами здесь

Сформировать очередь по файлу целых чисел. Промоделировать очередь в супермаркете
Сформировать очередь по файлу целых чисел. Промоделировать очередь в супермаркете. В каждый момент времени происходит одно из событий:...

Возможно ли смоделировать очередь, где условие входа в очередь задаётся логическим выражением?
Доброго всем дня! Моделирую Lean/Kanban, есть такое требование: пользователь должен иметь возможность менять размер очереди (от этого...

Дана очередь с вещественными числами, упорядоченными по убыванию. Добавить в очередь среднее арифметическое элементов
Дана очередь с вещественными числами, упорядоченными по убыванию. Добавить в очередь среднее арифметическое элементов очереди, не...

Как переделать очередь основанную на массиве в циклическую очередь
Как переделать очередь основанную на массиве в циклическую очередь? Тут кое-какие попытки. Беда с выводом так же присутствует) uses ...

Задача на очередь (вывод сообщения, что очередь пуста)
Доброго дня! Есть задачка на очередь, которая работает нормально, только надо добавить код, чтобы выводил сообщение, что очередь пуста.....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
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 и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта 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 На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru