powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Многопоточное программирование
11 сообщений из 11, страница 1 из 1
Многопоточное программирование
    #39201237
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! подскажите пожалуйста как управлять потоками?
Например у меня есть пул потоков (thread) каждый поток выполняет свою задачу, например первый получает данные из бд второй анализирует третий отправляет по почте. Потоки создаются при старте программы и ждут своей "участи" wait(). Менеджер потоков должен "разбудить" конкретный поток, тот который мне нужен в данный момент времени. Если я правильно понял, то метод notify() разбудит какой-то любой поток из пула с высшим приоритетом. а как разбудить нужный мне поток?
...
Рейтинг: 0 / 0
Многопоточное программирование
    #39201386
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На каждую задачу - отдельные пулы отдельных потоков.
...
Рейтинг: 0 / 0
Многопоточное программирование
    #39201532
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Программа одна пулы разные.
...
Рейтинг: 0 / 0
Многопоточное программирование
    #39201578
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarinкаждый поток выполняет свою задачу, например первый получает данные из бд второй анализирует третий отправляет по почте.т.к. задачи строго друг за другом, то такая постановка не подходит. Придумай параллельные задачи.
...
Рейтинг: 0 / 0
Многопоточное программирование
    #39201705
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MandarinВсем привет! подскажите пожалуйста как управлять потоками?
Например у меня есть пул потоков (thread) каждый поток выполняет свою задачу, например первый получает данные из бд второй анализирует третий отправляет по почте. Потоки создаются при старте программы и ждут своей "участи" wait(). Менеджер потоков должен "разбудить" конкретный поток, тот который мне нужен в данный момент времени. Если я правильно понял, то метод notify() разбудит какой-то любой поток из пула с высшим приоритетом. а как разбудить нужный мне поток?
То что вы описали уже есть в JSE, называется ExecutorService с кучей вариантов реализации.
То что вы пытаетесь описать в более обширном масштабе называется Actor Model. Существует в виде разнообразных фреймверков, например RxJava.
...
Рейтинг: 0 / 0
Многопоточное программирование
    #39202049
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin,

все не то.
wait-notify это один способ
пул потоков - это другой метод, считайте обертка вокруг wait-notify, чтобы не дергать потоки руками.

Пул содержит потоки, но в пуле исполняются не потоки а задачи, которые (как правило) не должны иметь ожидания и должны быть конечны.
...
Рейтинг: 0 / 0
Многопоточное программирование
    #39202060
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123т.к. задачи строго друг за другом+64Mandarinнапример первый получает данные из бд второй анализирует третий отправляет по почтеА что общего у этих потоков ? Есть ли какой-нибудь разделяемый ресурс ?
...
Рейтинг: 0 / 0
Многопоточное программирование
    #39202170
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarinу меня есть пул потоков (thread)
Mandarinпулы разные
Ты эта... определись один у тебя пул или таки разные. Если они разные, то утверждение
MandarinМенеджер потоков должен "разбудить" конкретный поток
не имеет смысла и его нужно заменить на "менеджер потоков должен разбудить первый попавшийся поток из конкретного пула", что и решается методом notify() - проблема решена.
...
Рейтинг: 0 / 0
Многопоточное программирование
    #39202188
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется что тут все проще и ТС испугался высоких материй. Это конечно мои домысливания но:

1) В случае если потоки выполняют взаимонезависимые задачи, то ТС просто надо понять разницу между Thread и Runnable. Скорее всего просто достаточно оформить параллельные задачи в Runnable и пулять их в ExecutorService когда надо. И никаких потоков будить не придется.
2) Если задачи взаимозависимые, то не совсем понятно зачем их тогда разделять, ну тут уже надо смотреть специфику задачи.
...
Рейтинг: 0 / 0
Многопоточное программирование
    #39202199
AndrykV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mandarin,
А можно совсем ламерский вопрос?
Ежели у вас все потоки выполняются последовательно, то зачем вообще городить огород с многопоточностью?
...
Рейтинг: 0 / 0
Многопоточное программирование
    #39202508
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо всем за наводящие вопросы, и подсказки. самое главное разобраться в себе и поставленной задаче :) я думаю то что в посоветовали будет более чем достаточно.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Многопоточное программирование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]