Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Пул потоков шедулера / 6 сообщений из 6, страница 1 из 1
28.05.2017, 09:57
    #39461005
AK1988
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пул потоков шедулера
Есть метод срабатывающий с периодичность 5 секунд. Бин с методом описан в хмл, для шедулера указан пул потоков равным 10. Суть метода - обработка объекта полученного из очереди. Проблема в том что стартует только 2 потока ( при чем не понимаю почему именно 2 (возможно потому что на процессоре multi threading и на самом деле работает 1 ядро), но почему так если в доке указано что при указании пула потоков будет несколько потоков?
...
Рейтинг: 0 / 0
28.05.2017, 10:13
    #39461007
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пул потоков шедулера
AK1988,

AsyncConfigurer ?
...
Рейтинг: 0 / 0
28.05.2017, 13:21
    #39461030
fixxer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пул потоков шедулера
Может просто больше не требуется и все успевает обработаться двумя? Потоки в пуле могут создаваться по-требованию.
...
Рейтинг: 0 / 0
28.05.2017, 16:24
    #39461065
AK1988
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пул потоков шедулера
Usman, если добавить аннотацию @Async, то срабатывает по сути так же, но асинхронно, т.е. в метод заходит многими потоками, но, если метод обрабатывает логику (так сказать активен), то одновременно обработка идет только в 2 потока и остальные потоки не срабатывают пока метод в одном из потоков не отработает.
Получается много потоков, но почему-то одновременно работают только 2, а в конфиге их 10.
Суть метода выборка и обработка первого элемента в очереди, т.е. метод сработал, мы взяли объект из очереди и выполнили логику, потому ничего не мешает методу срабатывать для каждого потока

fixxer, в том и дело что елементов в очереди больше двух, например, в очередь добавлено 5 объектов, пул потоков равен 10, ожидается что активируется 5 потоков и каждый начнет обрабатывать логику, а на деле активируется 2 потока и остальные не срабатывают если не отработал метод в одном из этих двух потоков.
...
Рейтинг: 0 / 0
28.05.2017, 16:33
    #39461068
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пул потоков шедулера
AK1988одновременно обработка идет только в 2 потока и остальные потоки не срабатывают пока метод в одном из потоков не отработаетзначит что-то блокирует

см. https://ru.wikipedia.org/wiki/Неблокирующая_синхронизация
...
Рейтинг: 0 / 0
30.05.2017, 18:06
    #39462601
AK1988
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пул потоков шедулера
Usman,

спасибо, что блокирует не разобрал, но сделал через шедулер через кварц, полет отличный.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Пул потоков шедулера / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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